

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 básicos do Amazon EMR Sem Servidor
<a name="getting-started"></a>

Este tutorial ajuda você nos conceitos básicos do EMR Sem Servidor ao implantar um exemplo de workload do Spark ou do Hive. Você criará, executará e depurará a própria aplicação. Mostramos as opções padrão na maior parte deste tutorial.

Antes de iniciar uma aplicação do EMR Sem Servidor, conclua as tarefas a seguir.

**Topics**
+ [Concessão de permissões para usar o EMR Sem Servidor](#gs-permissions)
+ [Preparação do armazenamento do EMR Sem Servidor](#gs-prepare-storage)
+ [Criação de um EMR Studio para executar workloads interativas](#gs-interactive)
+ [Criação de um perfil de runtime de trabalhos](#gs-runtime-role)
+ [Conceitos básicos do EMR Sem Servidor usando o console](gs-console.md)
+ [Começando a partir do AWS CLI](gs-cli.md)

## Concessão de permissões para usar o EMR Sem Servidor
<a name="gs-permissions"></a>

Para usar o EMR Sem Servidor, você precisa de um usuário ou perfil do IAM com uma política anexada que conceda permissões para o EMR Sem Servidor. Para criar um usuário e anexar a política apropriada a ele, siga as instruções em [Conceder permissões](setting-up.md#setting-up-iam).

## Preparação do armazenamento do EMR Sem Servidor
<a name="gs-prepare-storage"></a>

Neste tutorial, você usará um bucket do S3 para armazenar arquivos e logs de saída do exemplo de workload do Spark ou do Hive que será executada usando uma aplicação do EMR Sem Servidor. Para criar um bucket, siga as instruções em [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) no *Guia do usuário do console do Amazon Simple Storage Service*. Substitua qualquer outra referência a `amzn-s3-demo-bucket` pelo nome do bucket recém-criado. 

## Criação de um EMR Studio para executar workloads interativas
<a name="gs-interactive"></a>

Se você quiser usar o EMR Sem Servidor para executar consultas interativas por meio de cadernos hospedados no EMR Studio, será necessário especificar um bucket do S3 e o [perfil de serviço mínimo para o EMR Sem Servidor](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-serverless) criar um Workspace. Para conhecer as etapas de configuração, consulte [Set up an EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-set-up.html) no *Guia de gerenciamento do Amazon EMR*. Para obter mais informações sobre workloads interativas, consulte [Execução de workloads interativas com o EMR Sem Servidor por meio do EMR Studio](interactive-workloads.md).

## Criação de um perfil de runtime de trabalhos
<a name="gs-runtime-role"></a>

Os trabalhos executados no EMR Serverless usam uma função de tempo de execução que fornece permissões granulares para recursos específicos Serviços da AWS e em tempo de execução. Neste tutorial, um bucket público do S3 hospeda os dados e os scripts. O bucket `amzn-s3-demo-bucket` armazena a saída. 

Para configurar um perfil de runtime de trabalhos, primeiro crie um perfil de runtime com uma política de confiança para que o EMR Sem Servidor possa usar o novo perfil. Em seguida, anexe a política de acesso do S3 necessária a esse perfil. As etapas a seguir guiam você pelo processo.

------
#### [ Console ]

1. Navegue até o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação à esquerda, escolha **Políticas**.

1. Escolha **Create Policy**.

1. A página **Criar política** é aberta em uma nova guia. Selecione o **Editor de políticas** como Json e cole o JSON da política abaixo.
**Importante**  
Substitua `amzn-s3-demo-bucket` na política abaixo pelo nome real do bucket criado em [Preparação do armazenamento do EMR Sem Servidor](#gs-prepare-storage). Essa é uma política básica para acesso ao S3. Para obter mais exemplos de perfis de runtime de trabalhos, consulte [Perfis de runtime do trabalho para o Amazon EMR Sem Servidor](security-iam-runtime-role.md).

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ReadAccessForEMRSamples",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::*.elasticmapreduce",
           "arn:aws:s3:::*.elasticmapreduce/*"
         ]
       },
       {
         "Sid": "FullAccessToOutputBucket",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket",
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       },
       {
         "Sid": "GlueCreateAndReadDataCatalog",
         "Effect": "Allow",
         "Action": [
           "glue:GetDatabase",
           "glue:CreateDatabase",
           "glue:GetDataBases",
           "glue:CreateTable",
           "glue:GetTable",
           "glue:UpdateTable",
           "glue:DeleteTable",
           "glue:GetTables",
           "glue:GetPartition",
           "glue:GetPartitions",
           "glue:CreatePartition",
           "glue:BatchCreatePartition",
           "glue:GetUserDefinedFunctions"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. Selecione **Avançar** para inserir um nome para sua política, como `EMRServerlessS3AndGlueAccessPolicy` e **Criar política** 

1. No painel de navegação esquerdo do console do IAM, escolha **Perfis**.

1. Selecione **Criar perfil**.

1. Em tipo de perfil, escolha **Política de confiança personalizada** e cole a política de confiança a seguir. Isso permite que trabalhos enviados para seus aplicativos Amazon EMR Serverless acessem outros Serviços da AWS em seu nome.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "sts:AssumeRole"
         ],
         "Resource": "arn:aws:iam::123456789012:role/EMRServerlessExecutionRole",
         "Sid": "AllowSTSAssumerole"
       }
     ]
   }
   ```

------

1. Escolha **Avançar** para navegar até a página **Adicionar permissões** e, em seguida, escolha **EMRServerlessS3 AndGlueAccessPolicy**.

1. Na página **Nomear, revisar e criar**, em **Nome do perfil**, digite um nome para o perfil, por exemplo, `EMRServerlessS3RuntimeRole`. Para criar esse perfil do IAM, escolha **Criar perfil**.

------
#### [ CLI ]

1. Crie um arquivo denominado `emr-serverless-trust-policy.json` que contenha a política de confiança a ser usada para a função do IAM. O arquivo deve ter a política a seguir.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "EMRServerlessTrustPolicy",
         "Action": [
           "sts:AssumeRole"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:iam::123456789012:role/EMRServerlessExecutionRole"
       }
     ]
   }
   ```

------

1. Crie um perfil do IAM denominado `EMRServerlessS3RuntimeRole`. Use a política de confiança criada na etapa anterior.

   ```
   aws iam create-role \
       --role-name EMRServerlessS3RuntimeRole \
       --assume-role-policy-document file://emr-serverless-trust-policy.json
   ```

   Anote o ARN na saída. Você usa o ARN do novo perfil durante o envio do trabalho, depois chamado de `job-role-arn`.

1. Crie um arquivo chamado `emr-sample-access-policy.json` que defina a política do IAM para sua workload. Isso fornece acesso de leitura ao script e aos dados armazenados em buckets públicos do S3 e acesso de leitura e gravação a `amzn-s3-demo-bucket`. 
**Importante**  
Substitua `amzn-s3-demo-bucket` na política abaixo pelo nome real do bucket criado em [Preparação do armazenamento do EMR Sem Servidor](#gs-prepare-storage). Essa é uma política básica para acesso ao AWS Glue e ao S3. Para obter mais exemplos de perfis de runtime de trabalhos, consulte [Perfis de runtime do trabalho para o Amazon EMR Sem Servidor](security-iam-runtime-role.md).

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ReadAccessForEMRSamples",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::*.elasticmapreduce",
           "arn:aws:s3:::*.elasticmapreduce/*"
         ]
       },
       {
         "Sid": "FullAccessToOutputBucket",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket",
           "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
       },
       {
         "Sid": "GlueCreateAndReadDataCatalog",
         "Effect": "Allow",
         "Action": [
           "glue:GetDatabase",
           "glue:CreateDatabase",
           "glue:GetDataBases",
           "glue:CreateTable",
           "glue:GetTable",
           "glue:UpdateTable",
           "glue:DeleteTable",
           "glue:GetTables",
           "glue:GetPartition",
           "glue:GetPartitions",
           "glue:CreatePartition",
           "glue:BatchCreatePartition",
           "glue:GetUserDefinedFunctions"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. Crie uma política do IAM chamada `EMRServerlessS3AndGlueAccessPolicy` com o arquivo de política criado na **Etapa 3**. Anote o ARN na saída, pois você usará o ARN da nova política na próxima etapa. 

   ```
   aws iam create-policy \
       --policy-name EMRServerlessS3AndGlueAccessPolicy \
       --policy-document file://emr-sample-access-policy.json
   ```

   Anote o ARN da nova política na saída. Você o substituirá por `policy-arn` na próxima etapa.

1. Anexe a política do IAM `EMRServerlessS3AndGlueAccessPolicy` ao perfil de runtime do trabalho `EMRServerlessS3RuntimeRole`.

   ```
   aws iam attach-role-policy \
       --role-name EMRServerlessS3RuntimeRole \
       --policy-arn policy-arn
   ```

------