

# Processar dados do DynamoDB com o Apache Hive no Amazon EMR
<a name="EMRforDynamoDB"></a>

O Amazon DynamoDB é integrado com o Apache Hive, uma aplicação de data warehousing que pode ser executada no Amazon EMR. O Hive pode ler e gravar dados nas tabelas do DynamoDB, permitindo que você:
+ Consulte dados dinâmicos do DynamoDB usando uma linguagem semelhante a SQL (HiveQL).
+ Copie dados de uma tabela do DynamoDB para um bucket do Amazon S3 e vice-versa.
+ Copie dados de uma tabela do DynamoDB para o Hadoop Distributed File System (HDFS) e vice-versa.
+ Execute operações de junção em tabelas do DynamoDB.

**Topics**
+ [Visão geral](#EMRforDynamoDB.Overview)
+ [Tutorial: Como trabalhar com o Amazon DynamoDB e o Apache Hive](EMRforDynamoDB.Tutorial.md)
+ [Criar uma tabela externa no Hive](EMRforDynamoDB.ExternalTableForDDB.md)
+ [Processar instruções em HiveQL](EMRforDynamoDB.ProcessingHiveQL.md)
+ [Consultar dados no DynamoDB](EMRforDynamoDB.Querying.md)
+ [Copiar dados de e para o Amazon DynamoDB](EMRforDynamoDB.CopyingData.md)
+ [Ajuste de performance](EMRforDynamoDB.PerformanceTuning.md)

## Visão geral
<a name="EMRforDynamoDB.Overview"></a>

O Amazon EMR é um serviço que facilita o processamento de grandes quantidades de dados de maneira rápida e econômica. Para usar o Amazon EMR, você deve iniciar um cluster gerenciado de instâncias do Amazon EC2 executando o framework de código aberto do Hadoop. O *Hadoop* é uma aplicação distribuída que implementa o algoritmo MapReduce, onde uma tarefa é mapeada para vários nós no cluster. Cada nó processa seu trabalho designado em paralelo com outros nós. Finalmente, as saídas são reduzidas em um único nó, gerando o resultado final.

Você pode optar por iniciar seu cluster do Amazon EMR de modo que ele seja persistente ou transitório:
+ Um cluster *persistente* é executado até ser desativado por você. Os clusters persistentes são ideais para análise de dados, armazenamento de dados ou qualquer outro uso interativo.
+ Um cluster *transitório* é executado por tempo suficiente para processar um fluxo de trabalho e, em seguida, é desativado automaticamente. Os clusters transitórios são ideais para tarefas de processamento periódicas, como a execução de scripts.

Para obter informações sobre arquitetura e administração do Amazon EMR, consulte o [Guia de gerenciamento do Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide).

Ao iniciar um cluster do Amazon EMR, você deve especificar o número inicial e o tipo de instâncias do Amazon EC2. Você também pode especificar outras aplicações distribuídas (além do Hadoop em si) que deseja executar no cluster. Esses aplicativos incluem Matiz, Mahout, Pig, Spark e muito mais.

Para obter informações sobre aplicações para Amazon EMR, consulte o [Guia de versão do Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide).

Dependendo da configuração do cluster, é possível ter um ou mais dos seguintes tipos de nó:
+ Nó líder: gerencia o cluster, coordenando a distribuição do MapReduce executável e os subconjuntos de dados brutos, o núcleo e os grupos de instâncias de tarefa. Ele também acompanha o status de cada tarefa executada e monitora a integridade dos grupos de instâncias. Há apenas um nó principal em um cluster.
+ Nós core - executam tarefas do MapReduce e armazenam dados usando o Hadoop Distributed File System (HDFS).
+ Nós de tarefas (opcional) – executam tarefas do MapReduce.