Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Configurar o Tez - 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á.

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á.

Configurar o Tez

Você pode personalizar o Tez definindo valores com a classificação de configuração tez-site, que define as configurações no arquivo de configuração tez-site.xml. Para obter mais informações, consulte a TezConfigurationdocumentação do Apache Tez. Para alterar o Hive ou o Pig para usar o mecanismo de execução do Tez, use o hive-site e classificações de configuração de pig-properties, conforme apropriado. Os exemplos são mostrados abaixo.

Exemplo de configuração

exemplo Exemplo: personalizar o nível de registro raiz do Tez e configurar o Tez como mecanismo de execução para o Hive e o Pig

O comando de exemplo create-cluster mostrado a seguir cria um cluster com o Tez, o Hive e o Pig instalados. O comando faz referência a um arquivo armazenado no Amazon S3, myConfig.json, que especifica as propriedades da classificação tez-site que define tez.am.log.level como DEBUG e define o mecanismo de execução do Tez para Hive e Pig usando as classificações de configuração hive-site e pig-properties.

nota

Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

aws emr create-cluster --release-label emr-7.7.0 \ --applications Name=Tez Name=Hive Name=Pig --ec2-attributes KeyName=myKey \ --instance-type m5.xlarge --instance-count 3 \ --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles

Os conteúdos de exemplo de myConfig.json são mostrados abaixo.

[ { "Classification": "tez-site", "Properties": { "tez.am.log.level": "DEBUG" } }, { "Classification": "hive-site", "Properties": { "hive.execution.engine": "tez" } }, { "Classification": "pig-properties", "Properties": { "exectype": "tez" } } ]
nota

Com as versões 5.21.0 e posteriores do Amazon EMR, você pode substituir as configurações de cluster e especificar classificações de configuração adicionais para cada grupo de instâncias em um cluster em execução. Você faz isso usando o console do Amazon EMR, o AWS Command Line Interface (AWS CLI) ou o AWS SDK. Para obter mais informações, consulte Supplying a Configuration for an Instance Group in a Running Cluster.

Abertura de divisão assíncrona do Tez

Quando há um grande número de arquivos pequenos no caminho da tabela e uma consulta tenta ler todos eles, cada arquivo pequeno que corresponde a cada divisão individual é combinado em uma divisão agrupada do Tez. Então, um único mapper processa a única divisão agrupada do Tez. Como a execução é síncrona, cada divisão individual sob a divisão agrupada é processada uma a uma. Isso exige que os objetos de RecordReader processem as divisões de forma síncrona.

Name Classificação Descrição

tez.grouping.split.init.threads

tez-site

Especifica o número de threads do daemon que o Tez usa para pré-iniciar o RecordReaders e abrir as divisões. Para ACID tabelas, o valor máximo suportado de tez.grouping.split.init.threads é1.

tez.grouping.split.init.recordreaders

tez-site

Especifica o número de RecordReaders a serem mantidos pré-inicializados por threads do daemon. Isso pode ajudar quando a divisão agrupada do Tez contém um grande número de InputSplits. A inicialização de RecordReaders para processar essas divisões de entrada pode ser feita de forma assíncrona com threads do daemon em vez de processamento sequencial.

Avaliação comparativa de abertura de divisão assíncrona do Tez

Usamos os ambientes e configurações a seguir para comparar a capacidade de abertura de divisão assíncrona do Tez.

  • Ambiente de referência — cluster do Amazon EMR com 1 nó primário que usa m5.16xlargee 16 nós principais que usam m5.16xlarge.

  • Configurações de avaliação comparativa: para simular o cenário de avaliação comparativa em que um grande número de divisões de entrada estão em uma única divisão agrupada do Tez, tez.grouping.split-count é definido como 1.

  • Tabela usada para avaliação comparativa: a tabela contém 200 partições, com cada partição contendo um único arquivo. O benchmark é feito para quando essa tabela contém CSV arquivos e quando essa tabela contém arquivos em parquet. Consulta do Hive para avaliação comparativa: SELECT COUNT(*) da tabela dez vezes e calcule o runtime médio.

  • Configurações para habilitar a abertura de divisão assíncrona do Tez: da seguinte forma:

    • tez.grouping.split.init.threads = 4

    • tez.grouping.split.init.recordreaders = 10

Conjunto de dados Recurso desabilitado (linha de base) Recurso habilitado Melhoria

CSV conjunto de dados

90.26 segundos

79.20 segundos

12,25%

Parquet conjunto de dados

54.67 segundos

42.23 segundos

22,75%

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.