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

Ajustar mapeadores

Modo de foco
Ajustar mapeadores - Amazon DynamoDB

Quando o Hive inicia um trabalho do Hadoop, esse trabalho é processado por uma ou mais tarefas do mapeador. Supondo que a tabela do DynamoDB tenha capacidade de throughput suficiente, é possível modificar o número de mapeadores no cluster, o que melhora potencialmente a performance.

nota

O número de tarefas do mapeador usadas em um trabalho do Hadoop é influenciado pelas divisões de entrada, onde o Hadoop subdivide os dados em blocos lógicos. Se o Hadoop não realizar divisões de entrada suficientes, as operações de gravação poderão não ser capazes de consumir todo o throughput de gravação disponível na tabela do DynamoDB.

Aumentar o número de mapeadores

Cada mapeador em um Amazon EMR tem uma taxa máxima de leitura de 1 MiB por segundo. O número de mapeadores em um cluster depende do tamanho dos nós no cluster. (Para obter informações sobre tamanhos de nó e o nome de mapeadores por nó, consulte Configuração da tarefa no Guia do desenvolvedor do Amazon EMR.)

Se a tabela do DynamoDB possuir ampla capacidade de throughput para leituras, você poderá tentar aumentar o número de mapeadores executando um dos procedimentos a seguir:

  • Aumentar o tamanho dos nós no cluster. Por exemplo, se o cluster estiver usando nós m1.large (três mapeadores por nó), você pode tentar atualizar para os nós m1.xlarge (oito mapeadores por nó).

  • Aumentar o número de nós no cluster. Por exemplo, caso possua um cluster de três nós m1.xlarge, você terá um total de 24 mapeadores disponíveis. Se você dobrar o tamanho do cluster, com o mesmo tipo de nó, terá 48 mapeadores.

É possível usar o AWS Management Console para gerenciar o tamanho ou o número de nós em seu cluster. (Você pode precisar reiniciar o cluster para que essas alterações entrem em vigor.)

Outra forma de aumentar o número de mapeadores é modificar o parâmetro de configuração do Hadoop mapred.tasktracker.map.tasks.maximum. (Este é um parâmetro do Hadoop, e não um parâmetro do Hive. Não é possível modificá-lo interativamente a partir do prompt de comando.). Caso aumente o valor de mapred.tasktracker.map.tasks.maximum, você poderá aumentar o número de mapeadores sem aumentar o tamanho e o número de nós. No entanto, é possível que os nós do cluster fiquem sem memória se você definir o valor muito alto.

Você define o valor para mapred.tasktracker.map.tasks.maximum como uma ação de bootstrap ao iniciar o primeiro cluster do Amazon EMR. Para obter mais informações, consulte (Opcional) Criar ações de bootstrap para instalar software adicional no Guia de gerenciamento do Amazon EMR.

Diminuir o número de mapeadores

Se você usar a instrução SELECT para selecionar dados de uma tabela externa do Hive mapeada no DynamoDB, o trabalho do Hadoop poderá usar quantas tarefas forem necessárias, até o número máximo de mapeadores no cluster. Nesse cenário, é possível que uma consulta do Hive de longa duração possa consumir toda a capacidade de leitura provisionada da tabela do DynamoDB, afetando negativamente outros usuários.

Você pode usar o parâmetro dynamodb.max.map.tasks para definir um limite superior para mapear tarefas:

SET dynamodb.max.map.tasks=1

Esse valor deve ser igual ou maior que 1. Quando o Hive processa sua consulta, o trabalho do Hadoop resultante não usa mais do que dynamodb.max.map.tasks ao ler a tabela do DynamoDB.

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