Considerações sobre o Presto na Amazon EMR - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Considerações sobre o Presto na Amazon EMR

Considere as seguintes limitações ao executar o Presto na AmazonEMR.

Executável da linha de comando do Presto

Na AmazonEMR, o PrestoDB e o Trino usam o mesmo executável de linha de comandopresto-cli,, como no exemplo a seguir.

presto-cli --catalog hive

Propriedades de implantação do Presto não configuráveis

A versão da Amazon EMR que você usa determina as configurações de implantação do Presto que estão disponíveis. Para obter mais informações sobre essas propriedades de configuração, consulte Implantar o Presto na documentação do Presto. A tabela a seguir mostra as diferentes opções de configuração para arquivos de properties do Presto.

Arquivo Configurável

log.properties

PrestoDB: configurável nas versões 4.0.0 e posteriores da EMR Amazon. Use a classificação para a configuração presto-log.

Trino (PrestoSQL): configurável nas EMR versões 6.1.0 e posteriores da Amazon. Use a classificação de configuração prestosql-log ou trino-log.

config.properties

PrestoDB: configurável nas versões 4.0.0 e posteriores da EMR Amazon. Use a classificação para a configuração presto-config.

Trino (PrestoSQL): configurável nas EMR versões 6.1.0 e posteriores da Amazon. Use a classificação de configuração prestosql-config ou trino-config.

hive.properties

PrestoDB: configurável nas versões 4.1.0 e posteriores da EMR Amazon. Use a classificação para a configuração presto-connector-hive.

Trino (PrestoSQL): configurável nas EMR versões 6.1.0 e posteriores da Amazon. Use a classificação de configuração prestosql-connector-hive ou trino-connector-hive.

node.properties

PrestoDB: configurável na EMR Amazon versão 5.6.0 e posterior. Use a classificação para a configuração presto-node.

Trino (PrestoSQL): configurável nas EMR versões 6.1.0 e posteriores da Amazon. Use a classificação de configuração prestosql-node ou trino-node.

jvm.config

Não configurável.

Instalação do PrestoDB e do Trino

O nome da aplicação, Presto, continua a ser usado para instalar o PrestoDB em clusters. Para instalar o Trino em clusters, use o nome do aplicativo Trino (ou Presto SQL em versões mais antigas da Amazon). EMR

Você pode instalar o PrestoDB ou o Trino, mas não pode instalar os dois em um único cluster. Se o PrestoDB e o Trino forem especificados na tentativa de criação de um cluster, ocorrerá um erro de validação e a solicitação de criação do cluster falhará.

EMRFSe configuração do PrestOS3 FileSystem

Com EMR as versões 5.12.0 e posteriores da Amazon, o PrestoDB pode usar. EMRFS Essa é a configuração padrão. EMRFStambém é o sistema de arquivos padrão para Trino (PrestoSQL) EMR nas versões 6.1.0 e posteriores da Amazon. Para obter mais informações, consulte EMRFile System (EMRFS) no Amazon EMR Management Guide. Nas versões anteriores da AmazonEMR, o PrestOS3 FileSystem é a única opção de configuração.

Você pode usar uma configuração de segurança para configurar a criptografia de EMRFS dados no Amazon S3. Você também pode usar IAM funções para EMRFS solicitações ao Amazon S3. Para obter mais informações, consulte Entendendo as opções de criptografia e Configurando IAM funções para EMRFS solicitações ao Amazon S3 no Amazon EMR Management Guide.

nota

Se você consultar dados subjacentes no Amazon S3 com a EMR versão 5.12.0 da Amazon, podem ocorrer erros do Presto. Isso acontece porque o Presto não consegue obter valores de classificação de configuração em emrfs-site.xml. Como solução alternativa, crie um subdiretório emrfs em usr/lib/presto/plugin/hive-hadoop2/ e crie um link simbólico em usr/lib/presto/plugin/hive-hadoop2/emrfs para o arquivo /usr/share/aws/emr/emrfs/conf/emrfs-site.xml existente. Em seguida, reinicie o processo presto-server (sudo presto-server stop seguido por sudo presto-server start).

Você pode substituir o EMRFS padrão e usar o FileSystem PrestOS3 em vez disso. Para fazer isso, use a classificação de configuração presto-connector-hive para definir hive.s3-file-system-type como PRESTO , conforme mostrado no exemplo a seguir. Para obter mais informações, consulte Configurar aplicações.

[ { "Classification": "presto-connector-hive", "Properties": { "hive.s3-file-system-type": "PRESTO" } } ]

Se você usa o PrestOS3FileSystem, use a classificação de presto-connector-hive configuração ou o Trino configure trino-connector-hive as propriedades do PrestOS3. FileSystem Para obter mais informações sobre as propriedades disponíveis, consulte Configuração do Amazon S3 na seção Conector do Hive da documentação do Presto. Essas configurações não se aplicam EMRFS a.

Configuração padrão para personificação do usuário final

Por padrão, EMR as versões 5.12.0 e posteriores da Amazon permitem a representação do usuário final para acesso a. HDFS Para obter mais informações, consulte Personificação de usuário final na documentação do Presto. Para alterar essa configuração usando a classificação de configuração presto-config, defina a propriedade hive.hdfs.impersonation.enabled como false.

Porta padrão para interface Web do Presto

Por padrão, a Amazon EMR configura a interface web do Presto no coordenador do Presto para usar a porta 8889 (para PrestoDB e Trino). Para alterar a porta, use a classificação de configuração presto-config para definir a propriedade http-server.http.port. Para obter mais informações, consulte Propriedades de configuração na seção Implantar o Presto na documentação do Presto.

Problema com a execução do bucket do Hive em algumas versões

O Presto versão 152.3 tem um problema com a execução do bucket do Hive que prejudica significativamente o desempenho das consultas do Presto em algumas circunstâncias. EMRAs versões 5.0.3, 5.1.0 e 5.2.0 da Amazon incluem essa versão do Presto. Para reduzir o problema, use a classificação de configuração presto-connector-hive para definir a propriedade hive.bucket-execution como false, conforme mostrado no exemplo a seguir.

[ { "Classification": "presto-connector-hive", "Properties": { "hive.bucket-execution": "false" } } ]