

AWS Data Pipeline não está mais disponível para novos clientes. Os clientes existentes do AWS Data Pipeline podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# EmrCluster
<a name="dp-object-emrcluster"></a>

Representa a configuração de um cluster do Amazon EMR. Esse objeto é usado por [EmrActivity](dp-object-emractivity.md) e [HadoopActivity](dp-object-hadoopactivity.md) para iniciar um cluster.

**Topics**
+ [Programadores](#emrcluster-schedulers)
+ [Versão de lançamento do Amazon EMR](#dp-emrcluster-release-versions)
+ [Permissões do Amazon EMR](#w2aac52c17b9c11)
+ [Sintaxe](#emrcluster-syntax)
+ [Exemplos](emrcluster-example.md)
+ [Consulte também](#emrcluster-seealso)

## Programadores
<a name="emrcluster-schedulers"></a>

Os programadores fornecem uma maneira de especificar a alocação de recursos e a priorização de trabalhos dentro de um cluster Hadoop. Administradores ou usuários podem escolher um programador para várias classes de usuários e aplicativos. Um programador pode usar filas para alocar recursos para usuários e aplicativos. Você configura essas filas ao criar o cluster. Em seguida, você pode configurar a prioridade de certos tipos de trabalhos e usuários. Com isso, é possível usar recursos de cluster de maneira eficiente enquanto mais de um usuário envia trabalhos ao cluster. Existem três tipos de programadores disponíveis:
+ [FairScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html)— Tentativas de programar recursos uniformemente por um período significativo de tempo.
+ [CapacityScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html)— Usa filas para permitir que administradores de cluster atribuam usuários a filas de prioridade e alocação de recursos variáveis. 
+ Default – Usado pelo cluster e pode ser configurado pelo seu site.

## Versão de lançamento do Amazon EMR
<a name="dp-emrcluster-release-versions"></a>

Uma versão do Amazon EMR corresponde a um conjunto de aplicações de código aberto do ecossistema de big data. Cada versão contém diferentes aplicações de big data, componentes e recursos que você seleciona para que o Amazon EMR instale e configure quando você criar um cluster. Especificar a versão usando o rótulo da versão. Os rótulos de versão estão no formato `emr-x.x.x`. Por exemplo, .`emr-5.30.0` Os clusters do Amazon EMR baseados no rótulo de versão `emr-4.0.0` e posterior usam a propriedade `releaseLabel` para especificar o rótulo de versão de um objeto `EmrCluster`. Versões anteriores usam a propriedade `amiVersion`.

**Importante**  
Todos os clusters do Amazon EMR criados usando a versão 5.22.0 ou posterior usam o [Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) para autenticar solicitações ao Amazon S3. Algumas versões anteriores usam o Signature versão 2. O suporte ao Signature versão 2 está sendo descontinuado. Para obter mais informações, consulte [Atualização do Amazon S3 – Período de defasagem do SigV2 estendido e modificado](https://aws.amazon.com/blogs/aws/amazon-s3-update-sigv2-deprecation-period-extended-modified/). É altamente recomendável que você use uma versão do Amazon EMR que ofereça suporte ao Signature versão 4. Para versões anteriores, começando com o EMR 4.7.x, a versão mais recente da série foi atualizada para oferecer suporte ao Signature versão 4. Ao usar uma versão anterior do EMR, recomendamos que você use a versão mais recente da série. Além disso, evite versões anteriores ao EMR 4.7.0.

### Condições e limitações
<a name="dp-emrcluster-considerations"></a>

#### Use a versão mais recente do Task Runner
<a name="dp-task-runner-latest"></a>

Se você estiver usando um objeto `EmrCluster` autogerenciado com um rótulo de release, use o Task Runner mais atual. Para mais informações sobre o Task Runner, consulte [Trabalhar com o Task Runner](dp-using-task-runner.md). Você pode configurar valores de propriedade para todas as classificações de configuração do Amazon EMR. Para obter mais informações, consulte [Configurar aplicativos](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html) no *Guia de apresentação do Amazon EMR* e nas referências de objeto [EmrConfiguration](dp-object-emrconfiguration.md) e [Propriedade](dp-object-property.md). 

#### Support for IMDSv2
<a name="dp-emr-imdsv2-support"></a>

Anteriormente, somente AWS Data Pipeline suportado IMDSv1. Agora, AWS Data Pipeline oferece suporte IMDSv2 no Amazon EMR 5.23.1, 5.27.1 e 5.32 ou posterior e no Amazon EMR 6.2 ou posterior. IMDSv2 usa um método orientado à sessão para lidar melhor com a autenticação ao recuperar informações de metadados das instâncias. Você deve configurar suas instâncias para fazer IMDSv2 chamadas criando recursos gerenciados pelo usuário usando TaskRunner -2.0.

#### Amazon EMR 5.32 ou posterior e Amazon EMR 6.x
<a name="dp-emr-6-classpath"></a>

As séries de lançamento do Amazon EMR 5.32 ou posterior e Amazon EMR 6.x usam o Hadoop versão 3.x, que introduziu mudanças significativas na forma como o classpath do Hadoop é avaliado em comparação com a versão 2.x do Hadoop. Bibliotecas comuns como Joda-Time foram removidas do classpath.

Se [EmrActivity](dp-object-emractivity.md) ou [HadoopActivity](dp-object-hadoopactivity.md) executa um arquivo Jar que tem dependências em uma biblioteca que foi removida no Hadoop 3.x, a etapa falhará com o erro `java.lang.NoClassDefFoundError` ou `java.lang.ClassNotFoundException`. Isso pode acontecer para os arquivos Jar executados sem problemas usando as versões de lançamento 5.x do Amazon EMR.

Para corrigir o problema, você deve copiar as dependências do arquivo Jar para o classpath do Hadoop em um objeto `EmrCluster` antes de iniciar o `EmrActivity` ou o `HadoopActivity`. Fornecemos um script bash para isso. O script bash está disponível no seguinte local, onde *MyRegion* é a AWS região em que seu `EmrCluster` objeto é executado, por exemplo`us-west-2`.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh
```

A forma de executar o script depende se ele `EmrActivity` `HadoopActivity` é executado em um recurso gerenciado AWS Data Pipeline ou executado em um recurso autogerenciado.

Se você usa um recurso gerenciado por AWS Data Pipeline, adicione um `bootstrapAction` ao `EmrCluster` objeto. O `bootstrapAction` especifica o script e os arquivos Jar a serem copiados como argumentos. Você pode adicionar até 255 campos `bootstrapAction` por objeto `EmrCluster` e adicionar um campo `bootstrapAction` a um objeto `EmrCluster` que já tenha ações de bootstrap.

Para especificar esse script como uma ação de bootstrap, use a seguinte sintaxe, onde `JarFileRegion` é a região em que o arquivo Jar é salvo e cada um *MyJarFile*n** é o caminho absoluto no Amazon S3 de um arquivo Jar a ser copiado para o classpath do Hadoop. Não especifique arquivos Jar que estão no classpath do Hadoop por padrão.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,JarFileRegion,MyJarFile1,MyJarFile2[, ...]
```

O exemplo a seguir especifica uma ação de bootstrap que copia dois arquivos Jar no Amazon S3: `my-jar-file.jar` e o `emr-dynamodb-tool-4.14.0-jar-with-dependencies.jar`. A Região usada no exemplo é us-west-2.

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m5.xlarge",
  "coreInstanceType" : "m5.xlarge",
  "coreInstanceCount" : "2",
  "taskInstanceType" : "m5.xlarge",
  "taskInstanceCount": "2",
  "bootstrapAction" : ["s3://datapipeline-us-west-2/us-west-2/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,us-west-2,s3://path/to/my-jar-file.jar,s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar"]
}
```

Você precisa salvar e ativar o pipeline para que a alteração no novo `bootstrapAction` seja habilitada.

Se você usa um recurso autogerenciado, pode baixar o script para a instância do cluster e executá-lo na linha de comando usando SSH. O script cria um diretório chamado `/etc/hadoop/conf/shellprofile.d` e um arquivo chamado `datapipeline-jars.sh` nesse diretório. Os arquivos jar fornecidos como argumentos de linha de comando são copiados para um diretório que o script cria chamado `/home/hadoop/datapipeline_jars`. Se seu cluster estiver configurado de forma diferente, modifique o script adequadamente após baixá-lo.

A sintaxe para executar o script na linha de comando é um pouco diferente de usar a `bootstrapAction` exibida no exemplo anterior. Use espaços ao invés de vírgulas entre os argumentos, conforme mostrado no exemplo a seguir.

```
./copy-jars-to-hadoop-classpath.sh us-west-2 s3://path/to/my-jar-file.jar s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar
```

## Permissões do Amazon EMR
<a name="w2aac52c17b9c11"></a>

Ao criar um perfil do IAM personalizado, considere cuidadosamente as permissões mínimas necessárias para que seu cluster realize os trabalhos. Certifique-se de conceder acesso aos recursos necessários, como arquivos no Amazon S3 ou dados no Amazon RDS, Amazon Redshift ou DynamoDB. Se você quiser definir `visibleToAllUsers` como "False", sua função precisará das permissões adequadas. `DataPipelineDefaultRole` não tem essas permissões. Você precisa fornecer uma união das funções `DefaultDataPipelineResourceRole` e `DataPipelineDefaultRole` como a função de objeto `EmrCluster` ou criar sua própria função para essa finalidade.

## Sintaxe
<a name="emrcluster-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Especifique uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto. É possível satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, ao especificar "schedule": \$1"ref": "DefaultSchedule"\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), você poderá criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência. Por exemplo: "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| actionOnResourceFalha | A ação executada após uma falha de recurso para este recurso. Os valores válidos são "retryall", que tentará executar todas as tarefas para o cluster pela duração especificada e "retrynone". | String | 
| actionOnTaskFalha | A ação executada após uma falha de tarefa para este recurso. Os valores válidos são "continuar", que significa que não encerrar o cluster, e "encerrar". | String | 
| additionalMasterSecurityGroupIds | O identificador de grupos de segurança principais adicionais do cluster do EMR, que segue o formato sg-01. XXXX6a Para obter mais informações, consulte [Grupos de segurança adicionais do Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-additional-sec-groups.html) no Guia de gerenciamento do Amazon EMR. | String | 
| additionalSlaveSecurityGroupIds | O identificador de security groups subordinados adicionais do cluster do EMR, que segue o formulário sg-01XXXX6a. | String | 
| amiVersion | A versão da imagem de máquina da Amazon (AMI) que o Amazon EMR usa para instalar nós do cluster. Para obter mais informações, consulte o [Guia de gerenciamento do Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/). | String | 
| aplicações | Aplicativos a serem instalados no cluster com argumentos separados por vírgula. Por padrão, o Hive e o Pig estão instalados. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | String | 
| attemptStatus | O status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| availabilityZone | A zona de disponibilidade na qual o cluster será executado. | String | 
| bootstrapAction | Uma ação para ser executada quando o cluster é iniciado. Você pode especificar argumentos separados por vírgula. Para especificar várias ações, até 255, adicione vários campos bootstrapAction. O comportamento padrão é iniciar o cluster sem quaisquer ações de bootstrap. | String | 
| configuration | Configuração de cluster do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | Objeto de referência. Por exemplo: "configuration":\$1"ref":"myEmrConfigurationId"\$1 | 
| coreInstanceBidPreço | O preço máximo de instância spot que você está disposto a pagar por instâncias do Amazon EC2. Se uma sugestão de preço for especificada, o Amazon EMR usará instâncias spot para o grupo de instâncias. Especificado em dólares americanos (USD). | String | 
| coreInstanceCount | O número de nós core a serem usados no cluster. | Inteiro | 
| coreInstanceType | O tipo de instância do Amazon EC2 a ser usado nos nós centrais. Consulte [Instâncias do Amazon EC2 compatíveis com clusters do Amazon EMR](dp-emr-supported-instance-types.md). | String | 
| coreGroupConfiguration | A configuração para o cluster de grupo de instâncias core do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | Objeto de referência. Por exemplo “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| coreEbsConfiguration | A configuração para volumes do Amazon EBS que serão anexadas a cada um dos nós centrais no grupo central do cluster do Amazon EMR. Para obter mais informações, consulte [Tipos de instâncias que oferecem suporte à otimização do EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) no Guia do usuário do Amazon EC2. | Objeto de referência. Por exemplo “coreEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| customAmiId | Aplica-se apenas às versões 5.7.0 e posterior do Amazon EMR. Especifica a ID de AMI de uma AMI personalizada a ser usada quando o Amazon EMR disponibiliza instâncias do Amazon EC2. Ele também pode ser usado em vez de ações de bootstrap para personalizar as configurações dos nós do cluster. Para obter mais informações, consulte o tópico referente no Guia de Gerenciamento do Amazon EMR. [Usar uma AMI personalizada](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) | String | 
| EbsBlockDeviceConfig |  A configuração de um dispositivo de blocos do Amazon EBS solicitado que está associado ao grupo de instâncias. Inclui um número especificado dos volumes que serão associados a cada instância no grupo de instâncias. Inclui `volumesPerInstance` e `volumeSpecification`, em que:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objeto de referência. Por exemplo “EbsBlockDeviceConfig”: \$1“ref”: “myEbsBlockDeviceConfig”\$1 | 
| emrManagedMasterSecurityGroupId | O identificador do grupo de segurança principal do cluster do Amazon EMR, que segue a forma sg-01XXXX6a. Para obter mais informações, consulte [Configurar grupos de segurança](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html) no Guia de gerenciamento do Amazon EMR. | String | 
| emrManagedSlaveSecurityGroupId | O identificador do grupo de segurança subordinado do cluster do Amazon EMR, que segue a forma sg-01XXXX6a. | String | 
| enableDebugging | Ativa a depuração no cluster do Amazon EMR. | String | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| hadoopSchedulerType | O tipo de programador do cluster. Os tipos válidos são: PARALLEL\$1FAIR\$1SCHEDULING, PARALLEL\$1CAPACITY\$1SCHEDULING e  DEFAULT\$1SCHEDULER. | Enumeração | 
| httpProxy | O host do proxy que os clientes utilizarão na conexão com serviços da AWS. | Objeto de referência, por exemplo, “HttpProxy”: \$1"ref”:” myHttpProxy Id "\$1 | 
| initTimeout | A quantidade de tempo de espera antes da inicialização do recurso.  | Período | 
| keyPair | O par de chaves do Amazon EC2 usado para fazer logon no nó principal do cluster do Amazon EMR. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| masterInstanceBidPreço | O preço máximo de instância spot que você está disposto a pagar por instâncias do Amazon EC2. É um valor decimal entre 0 e 20,00, exclusivos. Especificado em dólares americanos (USD). A definição deste valor permite instâncias spot para o nó principal do cluster do Amazon EMR. Se uma sugestão de preço for especificada, o Amazon EMR usará instâncias spot para o grupo de instâncias. | String | 
| masterInstanceType | O tipo de instância do Amazon EC2 a ser usado no nó principal. Consulte [Instâncias do Amazon EC2 compatíveis com clusters do Amazon EMR](dp-emr-supported-instance-types.md). | String | 
| masterGroupConfiguration | A configuração para o cluster de grupo de instâncias principal do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | Objeto de referência. Por exemplo “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| masterEbsConfiguration | A configuração para volumes do Amazon EBS que serão anexadas a cada um dos nós principais no grupo principal do cluster do Amazon EMR. Para obter mais informações, consulte [Tipos de instâncias que oferecem suporte à otimização do EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) no Guia do usuário do Amazon EC2. | Objeto de referência. Por exemplo “masterEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência. Por exemplo: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência. Por exemplo: "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, como "onSuccess":\$1"ref":"myActionId"\$1 | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência. Por exemplo: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | O URI do Amazon S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| region | O código da região na qual a instância do cluster do Amazon EMR deve ser executada. Por padrão, o cluster é executado na mesma região que o pipeline. Você pode executar um cluster na mesma região como um conjunto de dados dependente.  | Enumeração | 
| releaseLabel | Rótulo de liberação para o cluster do EMR. | String | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| resourceRole | A função do IAM AWS Data Pipeline usada para criar o cluster do Amazon EMR. A função padrão é DataPipelineDefaultRole.  | String | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| perfil | O perfil do IAM passado para o Amazon EMR para criar nós de EC2. | String | 
| runsOn | Esse campo não é permitido neste objeto. | Objeto de referência. Por exemplo: "runsOn":\$1"ref":"myResourceId"\$1 | 
| securityConfiguration | O identificador da configuração de segurança do EMR que será aplicado ao cluster. Esse parâmetro é aplicável apenas para a versão 4.8.0 do Amazon EMR e versões posteriores. | String | 
| serviceAccessSecurityGroupId | O identificador do grupo de segurança de acesso ao serviço do cluster do Amazon EMR.  | String. Segue a forma sg-01XXXX6a. Por exemplo: sg-1234abcd. | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou final do intervalo. Os valores são: cron, ondemand e timeseries. A programação timeseries significa que as instâncias são programadas no final de cada intervalo. A programação cron significa que as instâncias são programadas no início de cada intervalo. Uma programação ondemand permite que você execute um pipeline uma vez por ativação. Você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação ondemand, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines ondemand, chame a operação ActivatePipeline para cada execução subsequente. | Enumeração | 
| subnetId | O identificador da subrede em que o cluster do Amazon EMR será executado. | String | 
| supportedProducts | Um parâmetro que instala software de terceiros em um cluster do Amazon EMR, por exemplo, uma distribuição de terceiros do Hadoop. | String | 
| taskInstanceBidPreço | O preço máximo de instância spot que você está disposto a pagar por instâncias do EC2. Um valor decimal entre 0 e 20,00, exclusive. Especificado em dólares americanos (USD). Se uma sugestão de preço for especificada, o Amazon EMR usará instâncias spot para o grupo de instâncias. | String | 
| taskInstanceCount | O número de nós de tarefa a serem usados no cluster do Amazon EMR. | Inteiro | 
| taskInstanceType | O tipo de instância do Amazon EC2 a ser usado nos nós de tarefa. | String | 
| taskGroupConfiguration | A configuração para o cluster de grupo de instâncias de tarefa do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores.  | Objeto de referência. Por exemplo “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| taskEbsConfiguration | A configuração para volumes do Amazon EBS que serão anexadas a cada um dos nós de tarefa no grupo de tarefa do cluster do Amazon EMR. Para obter mais informações, consulte [Tipos de instâncias que oferecem suporte à otimização do EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) no Guia do usuário do Amazon EC2. | Objeto de referência. Por exemplo “taskEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| terminateAfter | Encerrar o recurso após tantas horas. | Inteiro | 
| VolumeSpecification |   As especificações de volume do Amazon EBS, como tipo de volume, IOPS e tamanho em Gigibytes (GiB), que serão solicitadas para o volume do Amazon EBS anexado a uma instância do Amazon EC2 no cluster do Amazon EMR. O nó pode ser um nó core, principal ou de tarefa.  `VolumeSpecification` inclui: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objeto de referência. Por exemplo “VolumeSpecification”: \$1“ref”: “myVolumeSpecification”\$1 | 
| useOnDemandOnLastAttempt | Na última tentativa de solicitar um recurso, faça um pedido para instâncias sob demanda em vez de instâncias spot. Isso garante que, se todas as tentativas anteriores falharam, a última tentativa não será interrompida.  | Booleano | 
| workerGroup | Campo não é permitido neste objeto. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependências na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Logs da etapa do disponíveis somente nas tentativas de atividade do Amazon EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @failureReason | O motivo da falha de recurso. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades do Amazon EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | O local de um objeto no ciclo de vida. Objetos de componentes dão origem a objetos de instância, que executam objetos de tentativa. | String | 

# Exemplos
<a name="emrcluster-example"></a>

Veja a seguir exemplos desse tipo de objeto.

**Topics**
+ [Executar um cluster do Amazon EMR com hadoopVersion](emrcluster-example-launch.md)
+ [Iniciar um cluster do Amazon EMR com rótulo de release emr-4.x ou superior](emrcluster-example-release-label.md)
+ [Instalar um software adicional no seu cluster do Amazon EMR](emrcluster-example-install-software.md)
+ [Desativar a criptografia do lado do servidor em versões 3.x](emrcluster-example1-disable-encryption.md)
+ [Desativar a criptografia do lado do servidor em versões 4.x](emrcluster-example2-disable-encryption.md)
+ [Configure o Hadoop KMS ACLs e crie zonas de criptografia no HDFS](emrcluster-example-hadoop-kms.md)
+ [Especificar funções personalizadas do IAM](emrcluster-example-custom-iam-roles.md)
+ [Use o EmrCluster recurso no AWS SDK para Java](emrcluster-example-java.md)
+ [Configurar um cluster do Amazon EMR em uma sub-rede privada](emrcluster-example-private-subnet.md)
+ [Anexe os volumes do EBS aos nós de cluster](emrcluster-example-ebs.md)

# Executar um cluster do Amazon EMR com hadoopVersion
<a name="emrcluster-example-launch"></a>

**Example**  <a name="example1"></a>
O exemplo a seguir inicia um cluster do Amazon EMR usando a AMI versão 1.0 e o Hadoop 0.20.  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,arg1,arg2,arg3","s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop/configure-other-stuff,arg1,arg2"]
}
```

# Iniciar um cluster do Amazon EMR com rótulo de release emr-4.x ou superior
<a name="emrcluster-example-release-label"></a>

**Example**  
O exemplo a seguir inicia um cluster do Amazon EMR usando o campo `releaseLabel` mais recente:  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "releaseLabel": "emr-4.1.0",
  "applications": ["spark", "hive", "pig"],
  "configuration": {"ref":"myConfiguration"}  
}
```

# Instalar um software adicional no seu cluster do Amazon EMR
<a name="emrcluster-example-install-software"></a>

**Example**  <a name="example2"></a>
O `EmrCluster` fornece o campo `supportedProducts` que instala software de terceiros em um cluster do Amazon EMR. Por exemplo, permite a instalação de uma distribuição personalizada do Hadoop, como MapR. Ele aceita uma lista de argumentos separados por vírgulas para os softwares de terceiros lerem e operarem. O exemplo a seguir mostra como usar o campo `supportedProducts` de `EmrCluster` para criar um cluster de edição MapR M3 personalizado com o Karmasphere Analytics instalado e executar um objeto `EmrActivity` nele.  

```
{
    "id": "MyEmrActivity",
    "type": "EmrActivity",
    "schedule": {"ref": "ResourcePeriod"},
    "runsOn": {"ref": "MyEmrCluster"},
    "postStepCommand": "echo Ending job >> /mnt/var/log/stepCommand.txt",    
    "preStepCommand": "echo Starting job > /mnt/var/log/stepCommand.txt",
    "step": "/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3n://elasticmapreduce/samples/wordcount/input,-output, \
     hdfs:///output32113/,-mapper,s3n://elasticmapreduce/samples/wordcount/wordSplitter.py,-reducer,aggregate"
  },
  {    
    "id": "MyEmrCluster",
    "type": "EmrCluster",
    "schedule": {"ref": "ResourcePeriod"},
    "supportedProducts": ["mapr,--edition,m3,--version,1.2,--key1,value1","karmasphere-enterprise-utility"],
    "masterInstanceType": "m3.xlarge",
    "taskInstanceType": "m3.xlarge"
}
```

# Desativar a criptografia do lado do servidor em versões 3.x
<a name="emrcluster-example1-disable-encryption"></a>

**Example**  <a name="example3"></a>
Uma `EmrCluster` atividade com uma versão 2.x do Hadoop criada por AWS Data Pipeline habilita a criptografia do lado do servidor por padrão. Se você quiser desativar a criptografia do lado do servidor, precisará especificar uma ação de bootstrap na definição de objeto do cluster.  
O exemplo a seguir cria uma atividade `EmrCluster` com criptografia do lado do servidor desativada:  

```
{  
   "id":"NoSSEEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "bootstrapAction":["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-e, fs.s3.enableServerSideEncryption=false"]
}
```

# Desativar a criptografia do lado do servidor em versões 4.x
<a name="emrcluster-example2-disable-encryption"></a>

**Example**  <a name="example4"></a>
Você precisa desativar a criptografia do lado do servidor usando um objeto `EmrConfiguration`.  
O exemplo a seguir cria uma atividade `EmrCluster` com criptografia do lado do servidor desativada:  

```
   {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "myResourceId",
      "type": "EmrCluster",
      "configuration": {
        "ref": "disableSSE"
      }
    },
    {
      "name": "disableSSE",
      "id": "disableSSE",
      "type": "EmrConfiguration",
      "classification": "emrfs-site",
      "property": [{
        "ref": "enableServerSideEncryption"
      }
      ]
    },
    {
      "name": "enableServerSideEncryption",
      "id": "enableServerSideEncryption",
      "type": "Property",
      "key": "fs.s3.enableServerSideEncryption",
      "value": "false"
    }
```

# Configure o Hadoop KMS ACLs e crie zonas de criptografia no HDFS
<a name="emrcluster-example-hadoop-kms"></a>

**Example**  <a name="example5"></a>
Os objetos a seguir são criados ACLs para o Hadoop KMS e criam zonas de criptografia e chaves de criptografia correspondentes no HDFS:  

```
{
      "name": "kmsAcls",
      "id": "kmsAcls",
      "type": "EmrConfiguration",
      "classification": "hadoop-kms-acls",
      "property": [
        {"ref":"kmsBlacklist"},
        {"ref":"kmsAcl"}
      ]
    },
    {
      "name": "hdfsEncryptionZone",
      "id": "hdfsEncryptionZone",
      "type": "EmrConfiguration",
      "classification": "hdfs-encryption-zones",
      "property": [
        {"ref":"hdfsPath1"},
        {"ref":"hdfsPath2"}
      ]
    },
    {
      "name": "kmsBlacklist",
      "id": "kmsBlacklist",
      "type": "Property",
      "key": "hadoop.kms.blacklist.CREATE",
      "value": "foo,myBannedUser"
    },
    {
      "name": "kmsAcl",
      "id": "kmsAcl",
      "type": "Property",
      "key": "hadoop.kms.acl.ROLLOVER",
      "value": "myAllowedUser"
    },
    {
      "name": "hdfsPath1",
      "id": "hdfsPath1",
      "type": "Property",
      "key": "/myHDFSPath1",
      "value": "path1_key"
    },
    {
      "name": "hdfsPath2",
      "id": "hdfsPath2",
      "type": "Property",
      "key": "/myHDFSPath2",
      "value": "path2_key"
    }
```

# Especificar funções personalizadas do IAM
<a name="emrcluster-example-custom-iam-roles"></a>

**Example**  <a name="example6"></a>
Por padrão, AWS Data Pipeline passa `DataPipelineDefaultRole` como função de serviço do Amazon EMR e `DataPipelineDefaultResourceRole` como perfil de instância do Amazon EC2 para criar recursos em seu nome. No entanto, você pode criar uma função de serviço personalizada do Amazon EMR e um perfil de instância personalizado e usá-los em vez disso. AWS Data Pipeline deve ter permissões suficientes para criar clusters usando o papel personalizado e você deve adicionar AWS Data Pipeline como uma entidade confiável.  
O objeto de exemplo a seguir especifica funções personalizadas para o cluster do Amazon EMR:  

```
{  
   "id":"MyEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "role":"emrServiceRole",
   "resourceRole":"emrInstanceProfile"
}
```

# Use o EmrCluster recurso no AWS SDK para Java
<a name="emrcluster-example-java"></a>

**Example**  <a name="example7"></a>
O exemplo a seguir mostra como usar `EmrCluster` e `EmrActivity` para criar um cluster do Amazon EMR 4.x para executar uma etapa Spark usando o SDK para Java:  

```
public class dataPipelineEmr4 {

  public static void main(String[] args) {
    
	AWSCredentials credentials = null;
	credentials = new ProfileCredentialsProvider("/path/to/AwsCredentials.properties","default").getCredentials();
	DataPipelineClient dp = new DataPipelineClient(credentials);
	CreatePipelineRequest createPipeline = new CreatePipelineRequest().withName("EMR4SDK").withUniqueId("unique");
	CreatePipelineResult createPipelineResult = dp.createPipeline(createPipeline);
	String pipelineId = createPipelineResult.getPipelineId();
    
	PipelineObject emrCluster = new PipelineObject()
	    .withName("EmrClusterObj")
	    .withId("EmrClusterObj")
	    .withFields(
			new Field().withKey("releaseLabel").withStringValue("emr-4.1.0"),
			new Field().withKey("coreInstanceCount").withStringValue("3"),
			new Field().withKey("applications").withStringValue("spark"),
			new Field().withKey("applications").withStringValue("Presto-Sandbox"),
			new Field().withKey("type").withStringValue("EmrCluster"),
			new Field().withKey("keyPair").withStringValue("myKeyName"),
			new Field().withKey("masterInstanceType").withStringValue("m3.xlarge"),
			new Field().withKey("coreInstanceType").withStringValue("m3.xlarge")        
			);
  
	PipelineObject emrActivity = new PipelineObject()
	    .withName("EmrActivityObj")
	    .withId("EmrActivityObj")
	    .withFields(
			new Field().withKey("step").withStringValue("command-runner.jar,spark-submit,--executor-memory,1g,--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/lib/spark-examples.jar,10"),
			new Field().withKey("runsOn").withRefValue("EmrClusterObj"),
			new Field().withKey("type").withStringValue("EmrActivity")
			);
      
	PipelineObject schedule = new PipelineObject()
	    .withName("Every 15 Minutes")
	    .withId("DefaultSchedule")
	    .withFields(
			new Field().withKey("type").withStringValue("Schedule"),
			new Field().withKey("period").withStringValue("15 Minutes"),
			new Field().withKey("startAt").withStringValue("FIRST_ACTIVATION_DATE_TIME")
			);
      
	PipelineObject defaultObject = new PipelineObject()
	    .withName("Default")
	    .withId("Default")
	    .withFields(
			new Field().withKey("failureAndRerunMode").withStringValue("CASCADE"),
			new Field().withKey("schedule").withRefValue("DefaultSchedule"),
			new Field().withKey("resourceRole").withStringValue("DataPipelineDefaultResourceRole"),
			new Field().withKey("role").withStringValue("DataPipelineDefaultRole"),
			new Field().withKey("pipelineLogUri").withStringValue("s3://myLogUri"),
			new Field().withKey("scheduleType").withStringValue("cron")
			);     
      
	List<PipelineObject> pipelineObjects = new ArrayList<PipelineObject>();
    
	pipelineObjects.add(emrActivity);
	pipelineObjects.add(emrCluster);
	pipelineObjects.add(defaultObject);
	pipelineObjects.add(schedule);
    
	PutPipelineDefinitionRequest putPipelineDefintion = new PutPipelineDefinitionRequest()
	    .withPipelineId(pipelineId)
	    .withPipelineObjects(pipelineObjects);
    
	PutPipelineDefinitionResult putPipelineResult = dp.putPipelineDefinition(putPipelineDefintion);
	System.out.println(putPipelineResult);
    
	ActivatePipelineRequest activatePipelineReq = new ActivatePipelineRequest()
	    .withPipelineId(pipelineId);
	ActivatePipelineResult activatePipelineRes = dp.activatePipeline(activatePipelineReq);
	
      System.out.println(activatePipelineRes);
      System.out.println(pipelineId);
    
    }

}
```

# Configurar um cluster do Amazon EMR em uma sub-rede privada
<a name="emrcluster-example-private-subnet"></a>

**Example**  <a name="example8"></a>
Este exemplo inclui uma configuração que executa o cluster em uma sub-rede privada dentro de uma VPC. Para obter mais informações, consulte [Executar clusters do Amazon EMR em uma VPC](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-vpc-launching-job-flows.html) no *Guia de gerenciamento do Amazon EMR*. Essa configuração é opcional. Você pode usá-la em qualquer pipeline que usa um objeto `EmrCluster`.  
Para executar um cluster do Amazon EMR em uma subrede privada, especifique `SubnetId`, `emrManagedMasterSecurityGroupId`, `emrManagedSlaveSecurityGroupId` e `serviceAccessSecurityGroupId` na sua configuração de `EmrCluster`.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "serviceAccessSecurityGroupId": "#{myServiceAccessSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "keyPair": "user-key-pair"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "myServiceAccessSecurityGroup":  "service access security group",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

# Anexe os volumes do EBS aos nós de cluster
<a name="emrcluster-example-ebs"></a>

**Example**  <a name="example8"></a>
Você pode anexar volumes do EBS a qualquer tipo de nó no cluster do EMR no seu pipeline. Para anexar volumes do EBS aos nós, use `coreEbsConfiguration`, `masterEbsConfiguration` e `TaskEbsConfiguration` na sua configuração `EmrCluster`.   
Este exemplo de cluster do Amazon EMR usa volumes do Amazon EBS para seus nós central, principal e de tarefa. Para obter mais informações, consulte [Volumes de Amazon EBS no Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-storage.html) no *Guia de gerenciamento do Amazon EMR*.  
Essas configurações são opcionais. Você pode usá-las em qualquer pipeline que usa um objeto `EmrCluster`.  
No pipeline, clique na configuração do objeto `EmrCluster`, escolha **Configuração do EBS principal**, **Configuração do EBS básico** ou **Configuração do EBS de tarefas** e insira os detalhes de configuração semelhantes ao exemplo a seguir.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "coreEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "masterEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "taskEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "keyPair": "user-key-pair"
    },
    {
       "name": "EBSConfiguration",
        "id": "EBSConfiguration",
        "ebsOptimized": "true",
        "ebsBlockDeviceConfig" : [
            { "ref": "EbsBlockDeviceConfig" }
        ],
        "type": "EbsConfiguration"
    },
    {
        "name": "EbsBlockDeviceConfig",
        "id": "EbsBlockDeviceConfig",
        "type": "EbsBlockDeviceConfig",
        "volumesPerInstance" : "2",
        "volumeSpecification" : {
            "ref": "VolumeSpecification"
        }
    },
    {
      "name": "VolumeSpecification",
      "id": "VolumeSpecification",
      "type": "VolumeSpecification",
      "sizeInGB": "500",
      "volumeType": "io1",
      "iops": "1000"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

## Consulte também
<a name="emrcluster-seealso"></a>
+ [EmrActivity](dp-object-emractivity.md)