

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

# O que é o Amazon EMR?
<a name="emr-what-is-emr"></a>

O Amazon EMR, anteriormente chamado de Amazon Elastic MapReduce, é uma plataforma de cluster gerenciada que simplifica a execução de estruturas de big data, como [Apache Hadoop e Apache](https://aws.amazon.com/elasticmapreduce/details/hadoop) [Spark, para processar](https://aws.amazon.com/elasticmapreduce/details/spark) e analisar grandes quantidades de dados. AWS Ao usar essas estruturas e projetos de código aberto relacionados, é possível processar dados para finalidades de analytics e workloads de inteligência de negócios. O Amazon EMR também permite transformar e mover grandes quantidades de dados de e para outros armazenamentos de dados e bancos de dados da AWS , como o Amazon Simple Storage Service (Amazon S3) e o Amazon DynamoDB. 

Se você for um usuário iniciante do Amazon EMR, recomendamos começar com a leitura do seguinte material, além desta seção:
+ [Amazon EMR](https://aws.amazon.com/elasticmapreduce/): esta página do serviço fornece destaques, detalhes do produto e informações sobre preços para o Amazon EMR.
+ [Tutorial: conceitos básicos do Amazon EMR](emr-gs.md): este tutorial permite que você comece a usar o Amazon EMR rapidamente.

**Topics**
+ [Noções básicas de como criar e trabalhar com clusters do Amazon EMR](emr-overview.md)
+ [Benefícios do uso do Amazon EMR](emr-overview-benefits.md)
+ [Camadas de arquitetura e de serviços no Amazon EMR](emr-overview-arch.md)

# Noções básicas de como criar e trabalhar com clusters do Amazon EMR
<a name="emr-overview"></a>

Este tópico fornece uma visão geral dos clusters do Amazon EMR, incluindo como enviar trabalho para um cluster, como esses dados são processados ​​e quais são os diversos estados pelos quais o cluster passa durante o processamento. 

**Topics**
+ [Noções sobre clusters e nós](#emr-overview-clusters)
+ [Envio de trabalhos para um cluster](#emr-work-cluster)
+ [Processar dados](#emr-overview-data-processing)
+ [Noções básicas sobre o ciclo de vida do cluster](#emr-overview-cluster-lifecycle)

## Noções sobre clusters e nós
<a name="emr-overview-clusters"></a>

O componente central do Amazon EMR é o *cluster*. Um cluster é um conjunto de instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Cada instância do cluster é chamada de *nó*. Cada nó tem um perfil dentro do cluster, conhecido como *tipo de nó*. O Amazon EMR também instala diferentes componentes de software em cada tipo de nó, atribuindo a cada nó um perfil em uma aplicação distribuída, como o Apache Hadoop.

 Os tipos de nós no Amazon EMR são os seguintes: 
+ **Nó primário**: um nó que gerencia o cluster ao executar componentes de software para coordenar a distribuição de dados e de tarefas entre outros nós para processamento. O nó primário rastreia o status das tarefas e monitora a integridade do cluster. Cada cluster tem um nó primário e é possível criar um cluster de nó único apenas com o nó primário.
+ **Nó core**: nó com componentes de software que executam tarefas e armazenam dados no Hadoop Distributed File System (HDFS) do cluster. Clusters de vários nós têm pelo menos um nó core.
+ **Nó de tarefa**: nó com componentes de software que apenas executa tarefas e não armazena dados no HDFS. Nós de tarefa são opcionais.

## Envio de trabalhos para um cluster
<a name="emr-work-cluster"></a>

Ao executar um cluster no Amazon EMR, você tem diversas opções sobre como especificar o trabalho que precisa ser feito. 
+ Forneça a definição completa do trabalho a ser feito nas funções que você especifica como etapas ao criar um cluster. Isto é normalmente feito para clusters que processam uma quantidade definida de dados e, em seguida, são encerrados quando o processamento é concluído. 
+ Crie um cluster de longa duração e use o console do Amazon EMR, a API do Amazon EMR ou AWS CLI o para enviar etapas, que podem conter um ou mais trabalhos. Para obter mais informações, consulte [Envio de trabalhos para um cluster do Amazon EMR](emr-work-with-steps.md). 
+ Crie um cluster, conecte-se ao nó primário e a outros nós conforme necessário usando o SSH e use as interfaces que as aplicações instaladas fornecem para executar tarefas e enviar consultas, com scripts ou de forma interativa. Para obter mais informações, consulte o [Guia de versão do Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 

## Processar dados
<a name="emr-overview-data-processing"></a>

Ao executar o cluster, você escolhe as estruturas e os aplicativos a serem instalados para as suas necessidades de processamento de dados. Para processar dados no cluster do Amazon EMR, é possível enviar trabalhos ou consultas diretamente para aplicações instaladas ou executar *etapas* no cluster.

### Envio de trabalhos diretamente para aplicações
<a name="emr-overview-submitting-jobs"></a>

Você pode enviar trabalhos e interagir diretamente com os softwares instalados no cluster do Amazon EMR. Para fazer isso, normalmente você se conecta ao nó primário usando uma conexão segura e acessa as interfaces e ferramentas que estão disponíveis para os softwares que são executados diretamente em seu cluster. Para obter mais informações, consulte [Conectar-se a um cluster do Amazon EMR](emr-connect-master-node.md).

### Execução de etapas para processar dados
<a name="emr-overview-steps"></a>

Você pode enviar uma ou mais etapas ordenadas para um cluster do Amazon EMR. Cada etapa é uma unidade de trabalho que contém instruções para manipular dados para processamento pelos softwares instalados no cluster.

 Veja a seguir um exemplo de processo utilizando quatro etapas: 

1. Enviar um conjunto de dados de entrada para processamento.

1. Processar a saída da primeira etapa usando um programa Pig.

1. Processar um segundo conjunto de dados de entrada usando um programa Hive.

1. Gravar um conjunto de dados de saída.

Geralmente, quando você processa dados no Amazon EMR, a entrada corresponde a dados armazenados como arquivos no sistema de arquivos subjacente escolhido, como o Amazon S3 ou o HDFS. Esses dados passam de uma etapa para a próxima na sequência de processamento. A etapa final grava os dados de saída em um local especificado, como um bucket do Amazon S3.

 As etapas são executadas na seguinte sequência: 

1. É enviada uma solicitação para iniciar as etapas de processamento.

1. O estado de todas as etapas é definido como **PENDING (Pendente)**.

1. Quando a primeira etapa da sequência é iniciada, seu estado muda para **RUNNING (Em execução)**. As outras etapas permanecem no estado **PENDING (Pendente)**.

1. Após a conclusão da primeira etapa, seu estado muda para **COMPLETED (Concluído)**.

1. A próxima etapa da sequência é iniciada, e seu estado muda para **RUNNING (Em execução)**. Após a conclusão, seu estado muda para **COMPLETED (Concluído)**.

1. Esse padrão repete-se para cada etapa, até todas elas estejam concluídas e o processamento seja encerrado.

O diagrama a seguir representa a sequência de etapas e mudança de estado para as etapas conforme elas são processadas. 

![\[Diagrama de sequência do Amazon EMR mostrando os diferentes estados das etapas do cluster.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/step-sequence.png)


Se uma etapa falhar durante o processamento, seu estado será alterado para **FAILED**. Você pode determinar o que acontece a seguir em cada etapa. Por padrão, todas as etapas restantes na sequência são definidas como **CANCELLED** e não são executadas se uma etapa anterior falhar. Você também pode optar por ignorar a falha e permitir que as etapas restantes continuem ou encerrem o cluster imediatamente.

O diagrama a seguir representa a sequência de etapas e a mudança de estado padrão quando uma etapa falha durante o processamento. 

![\[Diagrama de sequência do Amazon EMR mostrando o que acontece com as etapas subsequentes quando uma etapa anterior do cluster apresenta falha.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/step-sequence-failed.png)


## Noções básicas sobre o ciclo de vida do cluster
<a name="emr-overview-cluster-lifecycle"></a>

 Um cluster do Amazon EMR com êxito segue este processo: 

1. Primeiro, o Amazon EMR provisiona instâncias do EC2 no cluster para cada instância, de acordo com as suas especificações. Para obter mais informações, consulte [Configuração de hardware e redes do cluster do Amazon EMR](emr-plan-instances.md). Para todas as instâncias, o Amazon EMR usa a AMI padrão para o Amazon EMR ou uma AMI personalizada do Amazon Linux especificada por você. Para obter mais informações, consulte [Uso de uma AMI personalizada para fornecer mais flexibilidade na configuração de clusters do Amazon EMR](emr-custom-ami.md). Durante essa fase, o estado do cluster é `STARTING`.

1. O Amazon EMR executa *ações de bootstrap* especificadas em cada instância. Você pode usar as ações de bootstrap para instalar aplicativos personalizados e executar as personalizações necessárias. Para obter mais informações, consulte [Como criar ações de bootstrap para instalar softwares adicionais com um cluster do Amazon EMR](emr-plan-bootstrap.md). Durante essa fase, o estado do cluster é `BOOTSTRAPPING`. 

1. O Amazon EMR instala as aplicações nativas especificadas ao criar o cluster, como o Hive, o Hadoop, o Spark e outros.

1. Depois que as ações de bootstrap forem concluídas com êxito e que os aplicativos nativos forem instalados, o estado do cluster será `RUNNING`. Nesse momento, você pode se conectar às instâncias de cluster, e o cluster executará de maneira sequencial todas as etapas que você especificou ao criar o cluster. Você pode enviar etapas adicionais, que serão executadas depois que as etapas anteriores forem concluídas. Para obter mais informações, consulte [Envio de trabalhos para um cluster do Amazon EMR](emr-work-with-steps.md). 

1. Depois que as etapas forem executadas com êxito, o cluster entrará no estado `WAITING`. Se um cluster estiver configurado para o encerramento automático após a conclusão da última etapa, ele entrará em um estado `TERMINATING` e, em seguida, no estado `TERMINATED`. Se o cluster estiver configurado para aguardar, você deverá encerrá-lo manualmente quando não precisar mais dele. Após encerrar manualmente o cluster, ele entrará no estado `TERMINATING` e, em seguida, no estado `TERMINATED`.

Uma falha durante o ciclo de vida do cluster faz com que o Amazon EMR encerre o cluster e todas as suas instâncias, a menos que você habilite a proteção contra encerramento. Se um cluster for encerrado devido a uma falha, todos os dados armazenados no cluster serão excluídos, e o estado do cluster será definido como `TERMINATED_WITH_ERRORS`. Se você tiver habilitado a proteção contra encerramento, você poderá recuperar os dados do seu cluster e, em seguida, remover a proteção contra encerramento e encerrá-lo. Para obter mais informações, consulte [Uso da proteção contra encerramento para proteger clusters do Amazon EMR do desligamento acidental](UsingEMR_TerminationProtection.md). 

O diagrama a seguir representa o ciclo de vida de um cluster e como cada estágio desse ciclo é mapeado para um estado de cluster específico. 

![\[Diagrama do Amazon EMR mostrando o ciclo de vida de um cluster e como cada estágio do ciclo de vida é mapeado para um estado específico do cluster.\]](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/emr-cluster-lifecycle.png)


# Benefícios do uso do Amazon EMR
<a name="emr-overview-benefits"></a>

Há muitos benefícios em usar o Amazon EMR. Isso inclui a flexibilidade oferecida AWS e a economia de custos disponível em comparação com a criação de seus próprios recursos locais. Esta seção fornece uma visão geral desses benefícios, além de links para informações adicionais para ajudá-lo a explorar ainda mais.

**Topics**
+ [Redução de custos](#emr-benefits-cost)
+ [AWS integração](#emr-benefits-integration)
+ [Implantação](#emr-benefits-deployment)
+ [Escalabilidade e flexibilidade](#emr-benefits-scalability)
+ [Confiabilidade](#emr-benefits-reliability)
+ [Segurança](#emr-benefits-security)
+ [Monitoramento](#emr-benefits-monitoring)
+ [Interfaces de gerenciamento](#emr-what-tools)

## Redução de custos
<a name="emr-benefits-cost"></a>

Os preços do Amazon EMR dependem do tipo de instância e do número de instâncias do Amazon EC2 implantadas, bem como da região em que o seu cluster é iniciado. A definição de preço sob demanda oferece tarifas baixas, mas você pode reduzir os custos ainda mais comprando instâncias reservadas ou instâncias spot. As instâncias spot podem oferecer economias significativas. Em alguns casos, até um décimo dos preços sob demanda.

**nota**  
Se você usar o Amazon S3, o Amazon Kinesis ou o DynamoDB com o cluster do EMR, haverá cobranças adicionais para os serviços faturados separadamente do uso do Amazon EMR.

**nota**  
Ao configurar um cluster do Amazon EMR em uma sub-rede privada, recomendamos configurar também [endpoints da VPC para o Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html). Se o cluster do EMR estiver em uma sub-rede privada sem endpoints da VPC para o Amazon S3, você incorrerá em cobranças adicionais de gateway NAT associadas ao tráfego do S3, pois o tráfego entre o cluster do EMR e o S3 não permanecerá na VPC.

Para obter mais informações sobre as opções e os detalhes dos preços, consulte [Preço do Amazon EMR](https://aws.amazon.com/elasticmapreduce/pricing/).

## AWS integração
<a name="emr-benefits-integration"></a>

O Amazon EMR se integra a outros AWS serviços para fornecer recursos e funcionalidades relacionados à rede, armazenamento, segurança, etc., para seu cluster. A lista a seguir fornece vários exemplos dessa integração:
+ Amazon EC2 para as instâncias que compõem os nós do cluster.
+ Amazon Virtual Private Cloud (Amazon VPC) para configurar a rede virtual na qual você inicia as instâncias.
+ Amazon S3 para armazenar dados de entrada e de saída.
+ Amazon CloudWatch monitorará o desempenho do cluster e configurará alarmes
+ AWS Identity and Access Management (IAM) para configurar permissões
+ AWS CloudTrail para auditar solicitações feitas ao serviço
+ AWS Data Pipeline para programar e iniciar seus clusters
+ AWS Lake Formation para descobrir, catalogar e proteger dados em um data lake do Amazon S3

## Implantação
<a name="emr-benefits-deployment"></a>

O cluster do EMR consiste de instâncias do EC2, que realizam o trabalho que você envia ao seu cluster. Ao executar o seu cluster, o Amazon EMR configura as instâncias com as aplicações que você escolher, como Apache Hadoop ou Spark. Escolha o tamanho de instância e o tipo que melhor se adequa às necessidades de processamento do seu cluster: processamento em lotes, consultas de baixa latência, dados de streaming ou armazenamento físico de dados grandes. Para obter mais informações sobre os tipos de instâncias disponíveis para o Amazon EMR, consulte [Configuração de hardware e redes do cluster do Amazon EMR](emr-plan-instances.md).

O Amazon EMR oferece diversas maneiras de configurar softwares em seu cluster. Por exemplo, você pode instalar uma versão do Amazon EMR com um conjunto de aplicações escolhidas que pode incluir estruturas versáteis, como o Hadoop, e aplicações, como o Hive, o Pig ou o Spark. Também é possível instalar uma das diversas distribuições do MapR. O Amazon EMR usa o Amazon Linux, portanto, você também pode instalar softwares no cluster de forma manual ao usar o gerenciador de pacotes YUM ou a partir da origem. Para obter mais informações, consulte [Configuração de aplicações ao iniciar o cluster do Amazon EMR](emr-plan-software.md).

## Escalabilidade e flexibilidade
<a name="emr-benefits-scalability"></a>

O Amazon EMR oferece flexibilidade para aumentar ou reduzir a escala verticalmente do seu cluster conforme as necessidades de computação são alteradas. Você pode redimensionar seu cluster para adicionar instâncias para cargas de trabalho de pico e remover instâncias para controlar custos quando as cargas de pico diminuírem. Para obter mais informações, consulte [Redimensionar manualmente um cluster do Amazon EMR em execução](emr-manage-resize.md).

 O Amazon EMR também oferece a opção de executar vários grupos de instâncias para que você possa usar instâncias sob demanda em um grupo para garantir a capacidade de processamento em conjunto com instâncias spot em outro grupo para concluir os trabalhos com mais rapidez e custos mais baixos. Você também pode combinar diferentes tipos de instâncias para tirar proveito dos melhores preços por um tipo de instância spot sobre o outro. Para obter mais informações, consulte [Quando você deve usar instâncias spot?](emr-plan-instances-guidelines.md#emr-plan-spot-instances). 

Além disso, o Amazon EMR oferece flexibilidade para usar vários sistemas de arquivos para dados de entrada, de saída e intermediários. Por exemplo, você pode escolher o Sistema de Arquivos Distribuído do Hadoop (HDFS), que é executado nos nós primários e centrais do cluster para o processamento de dados que não precisam ser armazenados além do ciclo de vida do cluster. Você pode escolher o Sistema de Arquivos do EMR (EMRFS) para usar o Amazon S3 como uma camada de dados para aplicações em execução no cluster, com a finalidade de separar a computação e o armazenamento, e manter os dados persistentes de forma externa ao ciclo de vida do cluster. O EMRFS fornece o benefício adicional de permitir que você aumente ou diminua a escalabilidade independentemente, de acordo com as suas necessidades de computação e armazenamento. Você pode escalar suas necessidades de computação ao redimensionar o cluster e escalar as necessidades de armazenamento ao usar o Amazon S3. Para obter mais informações, consulte [Como trabalhar com armazenamento e sistemas de arquivos com o Amazon EMR](emr-plan-file-systems.md).

## Confiabilidade
<a name="emr-benefits-reliability"></a>

O Amazon EMR monitora nós no cluster e encerra e substitui automaticamente uma instância em caso de falha.

O Amazon EMR oferece opções de configuração que controlam se o cluster será encerrado automática ou manualmente. Se você configurar o cluster para ser automaticamente encerrado, isso acontecerá após a conclusão de todas as etapas. Ele é conhecido como cluster transitório. No entanto, você pode configurar o cluster para continuar a ser executado após o processamento, para poder optar por terminá-lo manualmente quando não precisar mais dele. Outra opção é criar um cluster, interagir diretamente com os aplicativos instalados e então terminá-lo manualmente quando você não precisar mais dele. Os clusters nestes exemplos são chamados de *clusters de longa execução*. 

Além disso, você pode configurar a proteção contra encerramento para impedir que instâncias do seu cluster sejam terminadas devido a erros ou problemas durante o processamento. Quando a proteção contra encerramento está habilitada, você pode recuperar dados de instâncias antes do encerramento. As configurações padrão para essas opções são diferentes dependendo de você executar o cluster usando o console, a CLI ou a API. Para obter mais informações, consulte [Uso da proteção contra encerramento para proteger clusters do Amazon EMR do desligamento acidental](UsingEMR_TerminationProtection.md).

## Segurança
<a name="emr-benefits-security"></a>

O Amazon EMR utiliza outros AWS serviços, como IAM e Amazon VPC, e recursos como pares de chaves do Amazon EC2, para ajudar você a proteger seus clusters e dados.

### IAM
<a name="emr-benefits-iam"></a>

O Amazon EMR se integra ao IAM para gerenciar permissões. Você define permissões usando políticas do IAM, que você anexa a usuários ou grupos do IAM. As permissões que você definir na política determinam as ações que esses usuários ou membros do grupo podem realizar, bem como os recursos que eles podem acessar. Para obter mais informações, consulte [Como o Amazon EMR funciona com o IAM](security_iam_service-with-iam.md).

Além disso, o Amazon EMR usa perfis do IAM para o próprio serviço do Amazon EMR e o perfil de instância do EC2 para as instâncias. Essas funções concedem permissões para que o serviço e as instâncias acessem outros AWS serviços em seu nome. Há um perfil padrão para o serviço do Amazon EMR e um perfil padrão para o perfil de instância do EC2. As funções padrão usam políticas AWS gerenciadas, que são criadas automaticamente para você na primeira vez que você inicia um cluster do EMR a partir do console e escolhe as permissões padrão. Você também pode criar os perfis do IAM padrão usando a AWS CLI. Se quiser gerenciar as permissões em vez de AWS, você pode escolher funções personalizadas para o perfil do serviço e da instância. Para obter mais informações, consulte [Configurar funções de serviço do IAM para permissões do Amazon EMR para AWS serviços e recursos](emr-iam-roles.md).

### Grupos de segurança
<a name="emr-benefits-security-groups"></a>

O Amazon EMR usa grupos de segurança para controlar o tráfego de entrada e de saída para as instâncias do EC2. Quando você inicia seu cluster, o Amazon EMR usa um grupo de segurança para sua instância primária e um grupo de segurança para ser compartilhado por suas core/task instances. Amazon EMR configures the security group rules to ensure communication among the instances in the cluster. Optionally, you can configure additional security groups and assign them to your primary and core/task instâncias para regras mais avançadas. Para obter mais informações, consulte [Controle do tráfego de rede com grupos de segurança para o cluster do Amazon EMR](emr-security-groups.md).

### Criptografia
<a name="emr-benefits-encryption"></a>

O Amazon EMR oferece suporte à opção de criptografia do lado do cliente e do servidor do Amazon S3 com EMRFS para ajudar a proteger os dados armazenados no Amazon S3. Com a criptografia do lado do servidor, o Amazon S3 criptografa seus dados após o upload.

Com a criptografia no lado do cliente, o processo de criptografia e descriptografia ocorre no cliente EMRFS, no seu cluster do EMR. Você gerencia a chave raiz para criptografia do lado do cliente usando o AWS Key Management Service (AWS KMS) ou seu próprio sistema de gerenciamento de chaves.

Para obter mais informações, consulte [Specifying Amazon S3 encryption using EMRFS properties](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-emrfs-encryption.html).

### Amazon VPC
<a name="emr-benefits-vpc"></a>

O Amazon EMR oferece suporte à execução de clusters em uma nuvem privada virtual (VPC) na Amazon VPC. Uma VPC é uma rede virtual isolada AWS que fornece a capacidade de controlar aspectos avançados da configuração e do acesso à rede. Para obter mais informações, consulte [Configuração de redes em uma VPC no Amazon EMR](emr-plan-vpc-subnet.md).

### AWS CloudTrail
<a name="emr-benefits-cloudtrail"></a>

O Amazon EMR se integra CloudTrail para registrar informações sobre solicitações feitas por ou em nome de sua conta. AWS Com essas informações, você pode manter o controle de quem está acessando seu cluster, quando isso é feito e o endereço IP do qual a solicitação foi feita. Para obter mais informações, consulte [Registrando AWS chamadas da API EMR usando AWS CloudTrail](logging-using-cloudtrail.md).

### Pares de chaves do Amazon EC2
<a name="emr-benefits-key-pairs"></a>

Você pode monitorar e interagir com o seu cluster ao criar uma conexão segura entre o computador remoto e o nó primário. Você usa o protocolo de rede Secure Shell (SSH) nesta conexão ou usar o Kerberos para autenticação. Se você usar o SSH, um par de chaves do Amazon EC2 será necessário. Para obter mais informações, consulte [Uso de um par de chaves do EC2 para credenciais SSH no Amazon EMR](emr-plan-access-ssh.md).

## Monitoramento
<a name="emr-benefits-monitoring"></a>

Você pode usar as interfaces de gerenciamento e os arquivos de log do Amazon EMR para solucionar problemas de cluster, como falhas ou erros. O Amazon EMR oferece a capacidade de arquivar arquivos de log no Amazon S3 para que você possa armazenar logs e solucionar problemas mesmo após o encerramento do cluster. O Amazon EMR também fornece uma ferramenta de depuração opcional no console do Amazon EMR para navegar nos arquivos de log com base em etapas, trabalhos e tarefas. Para obter mais informações, consulte [Configuração de registro em log e depuração do cluster do Amazon EMR](emr-plan-debugging.md).

O Amazon EMR se integra CloudWatch para monitorar métricas de desempenho do cluster e dos trabalhos dentro do cluster. Você pode configurar alarmes com base em várias métricas, por exemplo, se o cluster está ocioso ou a porcentagem de armazenamento usado. Para obter mais informações, consulte [Monitorando métricas do Amazon EMR com CloudWatch](UsingEMR_ViewingMetrics.md).

## Interfaces de gerenciamento
<a name="emr-what-tools"></a>

 Existem diversas maneiras de interagir com o Amazon EMR: 
+ **Console**: uma interface gráfica do usuário que você pode usar para iniciar e gerenciar clusters. Com ela, você preenche formulários da Web para especificar os detalhes dos clusters a serem executados, visualizar os detalhes de clusters existentes, depurar e encerrar clusters. Usar o console é a maneira mais fácil de começar a usar o Amazon EMR e nenhum conhecimento de programação é necessário. O console está disponível online em [https://console.aws.amazon.com/elasticmapreduce/casa](https://console.aws.amazon.com/elasticmapreduce/home). 
+ **AWS Command Line Interface (AWS CLI)** — Um aplicativo cliente que você executa em sua máquina local para se conectar ao Amazon EMR e criar e gerenciar clusters. O AWS CLI contém um conjunto rico em recursos de comandos específicos para o Amazon EMR. Com isso, você pode escrever scripts que automatizam o processo de execução e gerenciamento de clusters. Se você preferir trabalhar em uma linha de comando, usar o AWS CLI é a melhor opção. Para obter mais informações, consulte [Amazon EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/index.html) em *AWS CLI Command Reference*.
+ **Kit de desenvolvimento de software (SDK)** — SDKs forneça funções que chamam o Amazon EMR para criar e gerenciar clusters. Com eles, você pode escrever aplicativos que automatizam o processo de criação e gerenciamento de clusters. Usar o SDK é a melhor opção para ampliar ou personalizar a funcionalidade do Amazon EMR. Atualmente, o Amazon EMR está disponível nas seguintes versõesSDKs: Go, Java, .NET (C\$1 e VB.NET), Node.js, PHP, Python e Ruby. Para obter mais informações sobre eles SDKs, consulte [Ferramentas para](https://aws.amazon.com/tools/) [exemplos de código AWS e bibliotecas do Amazon EMR](https://docs.aws.amazon.com/code-library/latest/ug/emr_code_examples.html). 
+ **API do serviço Web**: uma interface de baixo nível que você pode usar para chamar o serviço Web diretamente, usando JSON. Usar a API é a melhor opção para criar um SDK personalizado que chame o Amazon EMR. Para obter mais informações, consulte a [Referência da API do Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/Welcome.html). 

# Camadas de arquitetura e de serviços no Amazon EMR
<a name="emr-overview-arch"></a>

A arquitetura de serviços do Amazon EMR consiste em várias camadas, cada uma delas fornecendo determinados recursos e funcionalidades ao cluster. Esta seção fornece uma visão geral das camadas e dos componentes de cada uma.

**Topics**
+ [Armazenamento](#emr-arch-storage)
+ [Gerenciamento de recursos de cluster](#emr-arch-resource-management)
+ [Estruturas de processamento de dados](#emr-arch-processing-frameworks)
+ [Aplicações e programas](#emr-arch-applications)

## Armazenamento
<a name="emr-arch-storage"></a>

A camada de armazenamento inclui os diferentes sistemas de arquivos que são usados com o cluster. Existem vários tipos diferentes de opções de armazenamento, da seguinte maneira.

### Hadoop Distributed File System (HDFS)
<a name="emr-storage-hdfs"></a>

O Hadoop Distributed File System (HDFS) é um sistema de arquivos distribuído e escalável para o Hadoop. O HDFS distribui os dados armazenados entre as instâncias do cluster, armazenando várias cópias dos dados em instâncias diferentes para garantir que nenhum dos dados se perca caso uma das instâncias falhe. O HDFS é um armazenamento temporário que é reivindicado quando um cluster é encerrado. O HDFS é útil para armazenar em cache resultados intermediários durante o MapReduce processamento ou para cargas de trabalho com E/S aleatória significativa. 

Para obter mais informações, consulte [Opções e comportamento de armazenamento de instâncias no Amazon EMR](emr-plan-storage.md) neste guia ou acesse o [HDFS User Guide](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html) no site do Apache Hadoop.

### Sistema de arquivos do EMR (EMRFS)
<a name="emr-storage-emrfs"></a>

Ao usar o Sistema de Arquivos do EMR (EMRFS), o Amazon EMR amplia o Hadoop para adicionar a capacidade de acessar diretamente os dados armazenados no Amazon S3, como se ele fosse um sistema de arquivos como o HDFS. Você pode usar o HDFS ou o Amazon S3 como o sistema de arquivos em seu cluster. Na maioria das vezes, o Amazon S3 é usado para armazenar dados de entrada e de saída, e os resultados intermediários são armazenados no HDFS.

### Sistema de arquivos local
<a name="emr-storage-lfs"></a>

O sistema de arquivos local é a um disco conectado localmente. Quando você cria um cluster do Hadoop, cada nó é criado a partir de uma instância do Amazon EC2 que tem componentes configurados previamente para o armazenamento em disco anexado previamente, que é chamado de armazenamento de instância. Os dados nos volumes de armazenamento de instância persistem somente durante o ciclo de vida da instância do Amazon EC2.

## Gerenciamento de recursos de cluster
<a name="emr-arch-resource-management"></a>

A camada de gerenciamento de recursos é responsável por gerenciar os recursos de cluster e agendar os trabalhos para o processamento de dados.

Por padrão, o Amazon EMR usa o YARN (Yet Another Resource Negotiator), que é um componente introduzido no Apache Hadoop 2.0 para gerenciar centralmente os recursos de cluster para várias estruturas de processamento de dados. No entanto, existem outras estruturas e aplicações disponibilizadas no Amazon EMR que não usam o YARN como gerenciador de recursos. O Amazon EMR também tem um atendente em cada nó que administra os componentes do YARN, mantém o cluster íntegro e se comunica com o Amazon EMR.

Como as instâncias spot são frequentemente usadas para executar nós de tarefas, o Amazon EMR tem a funcionalidade padrão para programar trabalhos do YARN para que os trabalhos em execução não falhem quando os nós de tarefas em execução nas instâncias spot forem encerrados. O Amazon EMR faz isso ao permitir que processos principais de aplicações sejam executados somente em nós centrais. O processo principal da aplicação controla os trabalhos em execução e precisa permanecer ativo durante a vida útil do trabalho.

A versão 5.19.0 e as versões posteriores do Amazon EMR usam o recurso de [rótulos de nós do YARN](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeLabel.html) integrado para conseguir isso. (As versões anteriores usavam um patch de código). As propriedades nas classificações de configuração `yarn-site` e `capacity-scheduler` são configuradas por padrão para que o programador de capacidade e o programador justo do YARN aproveitem os rótulos de nós. O Amazon EMR rotula automaticamente os nós centrais com o rótulo `CORE` e define propriedades para que as aplicações principais sejam programadas somente em nós com o rótulo CORE. Modificar manualmente as propriedades relacionadas nas classificações de configuração yarn-site e docapacity-scheduler, ou diretamente nos arquivos XML associados, pode interromper esse recurso ou modificar essa funcionalidade.

## Estruturas de processamento de dados
<a name="emr-arch-processing-frameworks"></a>

A camada de estruturas de processamento de dados é o mecanismo usado para processar e analisar dados. Existem muitas estruturas disponíveis que são executadas no YARN ou têm seu próprio gerenciamento de recursos. Estruturas diferentes estão disponíveis para tipos distintos de necessidades de processamento, como e lote, interativo, na memória, streaming e assim por diante. A estrutura que você escolhe depende do seu caso de uso. A escolha afeta as linguagens e interfaces disponíveis na camada de aplicativo, que é a camada usada para interagir com os dados que você deseja processar. As principais estruturas de processamento disponíveis para o Amazon EMR são o MapReduce Hadoop e o Spark. 

### Hadoop MapReduce
<a name="emr-processing-framework-mapreduce"></a>

O Hadoop MapReduce é um modelo de programação de código aberto para computação distribuída. Ele simplifica o processo de gravação de aplicativos distribuídos em paralelo, manipulando toda a lógica, enquanto você fornece as funções Map e Reduce. A função Map mapeia dados para conjuntos de pares de chave/valor chamados de resultados intermediários. A função Reduce combina os resultados intermediários, aplica algoritmos adicionais e produz o resultado final. Existem várias estruturas disponíveis para MapReduce, como o Hive, que gera automaticamente os programas Map e Reduce.

Para obter mais informações, acesse [How map and reduce operations are actually carried out](http://wiki.apache.org/hadoop2/HadoopMapReduce) no site Wiki do Apache Hadoop.

### Apache Spark
<a name="emr-processing-framework-spark"></a>

O Spark é um modelo de programação e estrutura de cluster para o processamento de workloads de big data. Como o Hadoop MapReduce, o Spark é um sistema de processamento distribuído de código aberto, mas usa gráficos acíclicos direcionados para planos de execução e armazenamento em cache na memória para conjuntos de dados. Ao executar o Spark no Amazon EMR, você pode usar o EMRFS para acessar diretamente os dados no Amazon S3. O Spark oferece suporte a vários módulos de consulta interativos, como o SparkSQL.

Para obter mais informações, consulte [Apache Spark on Amazon EMR clusters](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html) no *Guia de lançamento do Amazon EMR*.

## Aplicações e programas
<a name="emr-arch-applications"></a>

O Amazon EMR oferece suporte para muitas aplicações, como o Hive, o Pig e a biblioteca Spark Streaming, para fornecer funcionalidades como o uso de linguagens de nível superior para criar workloads de processamento, o uso de algoritmos de machine learning, a criação de aplicações de processamento de fluxos e o desenvolvimento de data warehouses. Além disso, o Amazon EMR também oferece suporte a projetos de código aberto que têm suas próprias funcionalidades de gerenciamento de cluster em vez de usarem o YARN.

Você usa várias bibliotecas e linguagens para interagir com as aplicações executadas no Amazon EMR. Por exemplo, você pode usar Java, Hive ou Pig com MapReduce Spark Streaming, Spark SQL MLlib e GraphX com Spark.

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