

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

# Conceitos comuns das chamadas de API do Amazon EMR
<a name="emr-common-programming-concepts"></a>

 Ao escrever uma aplicação que chama a API do Amazon EMR, há vários conceitos que se aplicam ao chamar uma das funções wrapper de um SDK. 

**Topics**
+ [Endpoints para o Amazon EMR](#endpoints)
+ [Especificação dos parâmetros de cluster no Amazon EMR](#API_SpecifyingParameters)
+ [Zonas de disponibilidade no Amazon EMR](#AvailabilityZones)
+ [Como usar arquivos e bibliotecas adicionais em clusters do Amazon EMR](#HowtoUseAdditionalFilesandLibrariesWiththeMapperorReducer)

## Endpoints para o Amazon EMR
<a name="endpoints"></a>

Um endpoint é um URL que é o ponto de entrada para um serviço da Web. Toda solicitação de serviço da web deve conter um endpoint. O endpoint especifica a AWS região em que os clusters são criados, descritos ou encerrados. Ele tem o formato `elasticmapreduce.{{regionname}}.amazonaws.com`. Se você especificar o endpoint geral (`elasticmapreduce.amazonaws.com`), o Amazon EMR direcionará sua solicitação para um endpoint na região padrão. Para contas criadas a partir de 8 de março de 2013, a região padrão é us-west-2; para contas mais antigas, a região padrão é us-east-1.

Para obter mais informações sobre os endpoints do Amazon EMR, consulte [Regions and endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#emr_region) na *Referência geral da Amazon Web Services*.

## Especificação dos parâmetros de cluster no Amazon EMR
<a name="API_SpecifyingParameters"></a>

 Os parâmetros `Instances` permitem que você configure os tipos e o número de instâncias do EC2 para criar os nós que vão processar os dados. O Hadoop distribui o processamento dos dados entre os vários nós do cluster. O nó principal é responsável por acompanhar a integridade dos nós core e de tarefas e por sondar os nós para obter o status dos resultados de trabalhos. Os nós core e de tarefa realizam o processamento real dos dados. Se você tem um cluster com um único nó, este nó serve como nó principal e também como nó core. 

 O parâmetro `KeepJobAlive` em uma solicitação `RunJobFlow` determina se um cluster deve ser encerrado quando não tem mais etapas para executar. Defina este valor como `False` quando você sabe que o cluster está sendo executado como esperado. Quando você estiver tentando resolver problemas no fluxo de trabalho e adicionando etapas enquanto a execução do cluster é suspensa, defina este valor como `True`. Isso reduz a quantidade de tempo e as despesas de upload dos resultados para o Amazon Simple Storage Service (Amazon S3), apenas para repetir o processo após a modificação de uma etapa para reiniciar o cluster. 

Em caso `KeepJobAlive` `true` afirmativo, depois de fazer com que o cluster conclua seu trabalho, você deve enviar uma `TerminateJobFlows` solicitação ou o cluster continuará em execução e gerará AWS cobranças. 

 Para obter mais informações sobre parâmetros exclusivos do`RunJobFlow`, consulte [RunJobFlow](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_RunJobFlow.html). Para obter mais informações sobre os parâmetros genéricos na solicitação, consulte [Common request parameters](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/CommonParameters.html). 

## Zonas de disponibilidade no Amazon EMR
<a name="AvailabilityZones"></a>

 O Amazon EMR usa instâncias do EC2 como nós para o processamento de clusters. Essas instâncias do EC2 têm locais que são compostos por regiões e zonas de disponibilidade. As regiões são dispersas e localizadas em diferentes áreas geográficas. As zonas de disponibilidade são locais distintos dentro de uma região, que são isolados de falhas que ocorrem em outras zonas de disponibilidade. Cada zona de disponibilidade fornece conectividade de rede de baixa latência e custo reduzido para outras zonas de disponibilidade na mesma região. Para obter uma lista de regiões e endpoints para o Amazon EMR, consulte [Regions and endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#emr_region) na *Referência geral da Amazon Web Services*. 

 O parâmetro `AvailabilityZone` especifica a localização geral do cluster. Esse parâmetro é opcional e, em geral, não recomendamos o seu uso. Quando `AvailabilityZone` não é especificado, o Amazon EMR escolhe automaticamente o melhor valor de `AvailabilityZone` para o cluster. Esse parâmetro pode ser útil se você desejar compartilhar os locais de suas instâncias com outras instâncias existentes em execução e seu cluster precisar ler ou gravar dados dessas instâncias. Para obter mais informações, consulte o [Guia do usuário do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/). 

## Como usar arquivos e bibliotecas adicionais em clusters do Amazon EMR
<a name="HowtoUseAdditionalFilesandLibrariesWiththeMapperorReducer"></a>

Em algumas ocasiões você pode querer usar arquivos adicionais ou bibliotecas personalizadas com seus aplicativos de mapeador ou reducer. Por exemplo, você pode querer usar uma biblioteca que converte um arquivo PDF em texto simples. 

**Para armazenar um arquivo em cache a ser usado pelo mapeador ou reducer quando usarem o streaming do Hadoop**
+ No campo `args` do JAR, adicione o seguinte argumento:

  ```
  1. -cacheFile s3://bucket/path_to_executable#local_path
  ```

  O arquivo `local_path` está no diretório de trabalho do mapeador, que pode referenciar o arquivo.