

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

# Exportar, importar, consultar e unir tabelas no DynamoDB usando o Amazon EMR
<a name="EMRforDynamoDB"></a>

**nota**  
O Amazon EMR-DynamoDB Connector é de código aberto em. GitHub Para obter mais informações, consulte [https://github.com/awslabs/emr-dynamodb-connector](https://github.com/awslabs/emr-dynamodb-connector).

O DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que proporciona um desempenho rápido e previsível com escalabilidade contínua. Os desenvolvedores podem criar uma tabela de banco de dados e ampliar seu tráfego de solicitação ou armazenamento sem limites. O DynamoDB distribui automaticamente dados e tráfego para a tabela através de um número suficiente de servidores, a fim de controlar a capacidade de solicitação especificada pelo cliente e a quantidade de dados armazenados, enquanto mantém um desempenho consistente e rápido. Usando o Amazon EMR e o Hive, você pode processar grandes quantidades de dados com rapidez e eficiência, como os dados armazenados no DynamoDB. Para obter mais informações sobre o DynamoDB, consulte o [Guia do desenvolvedor do Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/).

Apache Hive é uma camada de software que você pode usar para consultar clusters do map-reduce usando uma linguagem simplificada semelhante ao SQL chamada HiveQL. Ele é executado sobre a arquitetura do Hadoop. Para obter mais informações sobre o Hive e o HiveQL, acesse o documento [HiveQL Language Manual](https://cwiki.apache.org/confluence/display/Hive/LanguageManual). Para obter mais informações sobre o Hive e o Amazon EMR, consulte [Apache Hive](emr-hive.md).

Você pode usar o Amazon EMR com uma versão personalizada do Hive que inclua conectividade com o DynamoDB para executar operações em dados armazenados no DynamoDB:
+ Carregar dados do DynamoDB no Sistema de Arquivos Distribuído do Hadoop (HDFS) e usá-los como entrada em um cluster do Amazon EMR.
+ Consultar dados dinâmicos do DynamoDB usando instruções semelhantes a SQL (HiveQL).
+ Unir dados armazenados no DynamoDB e exportar ou consultar com base nos dados unidos.
+ Exportar dados armazenados no DynamoDB para o Amazon S3.
+ Importar dados armazenados no Amazon S3 para o DynamoDB.

**nota**  
O conector Amazon EMR-DynamoDB não é compatível com os clusters configurados para usar a [autenticação Kerberos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html).

Para executar cada uma das seguintes tarefas, será necessário iniciar um cluster do Amazon EMR, especificar a localização dos dados no DynamoDB e emitir comandos do Hive para manipular os dados no DynamoDB. 

Há várias maneiras de iniciar um cluster do Amazon EMR: você pode usar o console do Amazon EMR, a interface de linha de comando (CLI) ou pode programar seu cluster usando um SDK AWS ou a API do Amazon EMR. Você também pode escolher se deseja executar um cluster do Hive interativamente ou a partir de um script. Nesta seção, vamos mostrar a você como iniciar um cluster interativo do Hive pelo console do Amazon EMR e pela CLI. 

Usar o Hive, interativamente, é uma ótima maneira de testar o desempenho das consultas e ajustar seu aplicativo. Depois que você tiver estabelecido um conjunto de comandos do Hive que serão executados de forma regular, considere criar um script do Hive que o Amazon EMR possa executar para você. 

**Atenção**  
As operações de leitura ou de gravação do Amazon EMR em uma tabela do DynamoDB contam em relação ao throughput provisionado estabelecido, o que pode aumentar a frequência de exceções de throughput provisionado. Para grandes solicitações, o Amazon EMR implementa novas tentativas com recuo exponencial para gerenciar a carga de solicitações na tabela do DynamoDB. Executar trabalhos do Amazon EMR simultaneamente com outro tráfego pode fazer com que você exceda o nível de throughput provisionado alocado. Você pode monitorar isso verificando a **ThrottleRequests**métrica na Amazon CloudWatch. Se a carga de solicitações for muito alta, você pode reiniciar o cluster e definir [Configuração de porcentagem de leitura](EMR_Hive_Optimizing.md#ReadPercent) ou [Configuração de porcentagem de gravação](EMR_Hive_Optimizing.md#WritePercent) como um valor menor para limitar as operações do Amazon EMR. Para obter mais informações sobre as configurações de throughput do DynamoDB, consulte [Provisioned throughput](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDTables.html#ProvisionedThroughput).   
Se uma tabela estiver configurada para o [Modo sob demanda](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand), será necessário alterá-la novamente para o modo provisionado antes de executar uma operação de exportação ou importação. Os pipelines precisam de uma taxa de produtividade para calcular os recursos a serem usados em um Dynamo. DBtable O modo sob demanda remove o throughput provisionado. Para provisionar a capacidade de transferência, você pode usar as métricas do Amazon CloudWatch Events para avaliar a taxa de transferência agregada usada por uma tabela.

**Topics**
+ [Configurar uma tabela do Hive para executar comandos do Hive](EMR_Interactive_Hive.md)
+ [Exemplos de comandos do Hive para exportar, importar e consultar dados no DynamoDB](EMR_Hive_Commands.md)
+ [Otimizar a performance de operações do Amazon EMR no DynamoDB](EMR_Hive_Optimizing.md)