Tutorial: Começando com a Amazon EMR - Amazon EMR

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

Tutorial: Começando com a Amazon EMR

Percorra um fluxo de trabalho para configurar rapidamente um EMR cluster da Amazon e executar um aplicativo Spark.

Configurando seu EMR cluster da Amazon

Com a Amazon, EMR você pode configurar um cluster para processar e analisar dados com estruturas de big data em apenas alguns minutos. Este tutorial mostra como iniciar um cluster de amostra usando o Spark e como executar um PySpark script simples armazenado em um bucket do Amazon S3. Ele abrange EMR tarefas essenciais da Amazon em três categorias principais de fluxo de trabalho: planejar e configurar, gerenciar e limpar.

Você encontrará links para tópicos mais detalhados à medida que avança no tutorial e obterá ideias para etapas adicionais na seção Próximas etapas. Se você tiver dúvidas ou tiver dúvidas, entre em contato com a EMR equipe da Amazon em nosso fórum de discussão.

Diagrama de fluxo de trabalho para a Amazon EMR que descreve as três principais categorias de fluxo de trabalho: Planejar e Configurar, Gerenciar e Limpar.
Pré-requisitos
Custo
  • O exemplo de cluster que você criar será executado em um ambiente dinâmico. O cluster acumula cobranças mínimas. Para evitar cobranças adicionais, certifique-se de concluir as tarefas de limpeza na última etapa deste tutorial. As cobranças são acumuladas na taxa por segundo, de acordo com os preços da Amazon. EMR As cobranças também variam com base na região. Para obter mais informações, consulte os EMRpreços da Amazon.

  • Cobranças mínimas podem ser acumuladas para arquivos pequenos armazenados no Amazon S3. Algumas ou todas as cobranças do Amazon S3 podem ser dispensadas se você estiver dentro dos limites de uso do AWS nível gratuito. Para obter mais informações, consulte Preço do Amazon S3 e nível gratuito da AWS.

Etapa 1: configurar recursos de dados e iniciar um EMR cluster da Amazon

Prepare o armazenamento para a Amazon EMR

Ao usar a AmazonEMR, você pode escolher entre uma variedade de sistemas de arquivos para armazenar dados de entrada, dados de saída e arquivos de log. Neste tutorial, você usa EMRFS para armazenar dados em um bucket do S3. EMRFSé uma implementação do sistema de arquivos Hadoop que permite ler e gravar arquivos regulares no Amazon S3. Para obter mais informações, consulte Trabalhando com sistemas de armazenamento e arquivos com a Amazon EMR.

Para criar um bucket para este tutorial, siga as instruções em How do I create an S3 bucket? no Guia do usuário do console do Amazon Simple Storage Service. Crie o bucket na mesma AWS região em que você planeja lançar seu EMR cluster da Amazon. Por exemplo, Oeste dos EUA (Oregon) us-west-2.

Os buckets e pastas que você usa com a Amazon EMR têm as seguintes limitações:

  • Os nomes podem consistir em letras minúsculas, números, pontos (.) e hifens (-).

  • Os nomes não podem terminar em números.

  • O nome do bucket deve ser exclusivo em todas as contas da AWS .

  • Uma pasta de saída deve estar vazia.

Prepare um aplicativo com dados de entrada para a Amazon EMR

A forma mais comum de preparar um aplicativo para a Amazon EMR é fazer o upload do aplicativo e seus dados de entrada para o Amazon S3. Em seguida, ao enviar o trabalho para o cluster, você especifica os locais do Amazon S3 para o script e para os dados.

Nesta etapa, você carrega um PySpark script de amostra no seu bucket do Amazon S3. Fornecemos um PySpark script para você usar. O script processa os dados de inspeção de estabelecimentos alimentícios e retorna um arquivo de resultados em seu bucket do S3. O arquivo de resultados lista os dez principais estabelecimentos com mais violações do tipo “vermelho”.

Você também carrega dados de entrada de amostra para o Amazon S3 para que o PySpark script seja processado. Os dados de entrada correspondem a uma versão modificada dos resultados de inspeções do Departamento de Saúde no Condado de King, em Washington, de 2006 a 2020. Para obter mais informações, consulte King County Open Data: Food Establishment Inspection Data. Confira a seguir exemplos de linhas do conjunto de dados.

name, inspection_result, inspection_closed_business, violation_type, violation_points 100 LB CLAM, Unsatisfactory, FALSE, BLUE, 5 100 PERCENT NUTRICION, Unsatisfactory, FALSE, BLUE, 5 7-ELEVEN #2361-39423A, Complete, FALSE, , 0
Para preparar o PySpark script de exemplo para EMR
  1. Copie o código de exemplo abaixo em um novo arquivo no editor de sua preferência.

    import argparse from pyspark.sql import SparkSession def calculate_red_violations(data_source, output_uri): """ Processes sample food establishment inspection data and queries the data to find the top 10 establishments with the most Red violations from 2006 to 2020. :param data_source: The URI of your food establishment data CSV, such as 's3://amzn-s3-demo-bucket/food-establishment-data.csv'. :param output_uri: The URI where output is written, such as 's3://amzn-s3-demo-bucket/restaurant_violation_results'. """ with SparkSession.builder.appName("Calculate Red Health Violations").getOrCreate() as spark: # Load the restaurant violation CSV data if data_source is not None: restaurants_df = spark.read.option("header", "true").csv(data_source) # Create an in-memory DataFrame to query restaurants_df.createOrReplaceTempView("restaurant_violations") # Create a DataFrame of the top 10 restaurants with the most Red violations top_red_violation_restaurants = spark.sql("""SELECT name, count(*) AS total_red_violations FROM restaurant_violations WHERE violation_type = 'RED' GROUP BY name ORDER BY total_red_violations DESC LIMIT 10""") # Write the results to the specified output URI top_red_violation_restaurants.write.option("header", "true").mode("overwrite").csv(output_uri) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( '--data_source', help="The URI for you CSV restaurant data, like an S3 bucket location.") parser.add_argument( '--output_uri', help="The URI where output is saved, like an S3 bucket location.") args = parser.parse_args() calculate_red_violations(args.data_source, args.output_uri)
  2. Salve o arquivo como health_violations.py.

  3. Faça o upload de health_violations.py para o Amazon S3 no bucket criado para este tutorial. Para obter instruções, consulte Fazer upload de um objeto para o bucket no Guia de conceitos básicos do Amazon Simple Storage Service.

Para preparar os dados de entrada de amostra para EMR
  1. Faça o download do arquivo zip food_establishment_data.zip.

  2. Descompacte e salve food_establishment_data.zip como food_establishment_data.csv em sua máquina.

  3. Faça upload do CSV arquivo no bucket do S3 que você criou para este tutorial. Para obter instruções, consulte Fazer upload de um objeto para o bucket no Guia de conceitos básicos do Amazon Simple Storage Service.

Para obter mais informações sobre como configurar dados paraEMR, consultePrepare os dados de entrada para processamento com a Amazon EMR.

Inicie um EMR cluster da Amazon

Depois de preparar um local de armazenamento e seu aplicativo, você pode iniciar um EMR cluster de amostra da Amazon. Nesta etapa, você executa um cluster Apache Spark usando a EMRversão mais recente da Amazon.

Console
Para iniciar um cluster com o Spark instalado usando o console
  1. Faça login no e abra AWS Management Console o EMR console da Amazon em https://console.aws.amazon.com/emr.

  2. EC2Em EMRAtivado, no painel de navegação esquerdo, escolha Clusters e, em seguida, escolha Criar cluster.

  3. Na página Criar cluster, observe os valores padrão para Versão, Tipo de instância, Número de instâncias e Permissões. Esses campos são preenchidos automaticamente com valores que funcionam para clusters de uso geral.

  4. No campo Nome do cluster, insira um nome de cluster exclusivo para ajudá-lo a identificar seu cluster, comoMy first cluster. O nome do cluster não pode conter os caracteres <, >, $, | ou ` (crase).

  5. Em Aplicações, escolha a opção Spark para instalar o Spark em seu cluster.

    nota

    Escolha os aplicativos que você deseja em seu EMR cluster da Amazon antes de iniciar o cluster. Não é possível adicionar ou remover aplicações de um cluster após a inicialização.

  6. Em Logs do cluster, marque a caixa de seleção Publicar logs específicos do cluster no Amazon S3. Substitua o valor do local do Amazon S3 pelo bucket do Amazon S3 criado, seguido por /logs. Por exemplo, s3://amzn-s3-demo-bucket/logs. Adicionar /logs cria uma nova pasta chamada 'logs' em seu bucket, na qual a Amazon EMR pode copiar os arquivos de log do seu cluster.

  7. Em Configuração e permissões de segurança, escolha seu EC2key pair. Na mesma seção, selecione o menu EMR suspenso Função de serviço para Amazon e escolha EMR _. DefaultRole Em seguida, selecione a IAMfunção do menu suspenso do perfil da instância e escolha EMR_ _ EC2. DefaultRole

  8. Escolha Criar cluster para iniciar o cluster e abrir a página de detalhes do cluster.

  9. Veja o Status do cluster próximo ao nome do cluster. O status muda de Starting to Running para Waiting à medida que a Amazon EMR provisiona o cluster. Pode ser necessário escolher o ícone de atualização à direita ou atualizar seu navegador para visualizar as atualizações de status.

O status do cluster é alterado para Aguardando quando o cluster está ativo, em execução e pronto para aceitar trabalhos. Para obter mais informações sobre como ler o resumo do cluster, consulte Veja o status e os detalhes do EMR cluster da Amazon. Para obter informações sobre o status do cluster, consulte Noções básicas sobre o ciclo de vida do cluster.

CLI
Para iniciar um cluster com o Spark instalado com o AWS CLI
  1. Crie funções IAM padrão que você possa usar para criar seu cluster usando o comando a seguir.

    aws emr create-default-roles

    Para obter mais informações sobre create-default-roles, consulte AWS CLI Command Reference.

  2. Crie um cluster do Spark com o comando a seguir. Insira um nome para seu cluster com a --name opção e especifique o nome do seu EC2 key pair com a --ec2-attributes opção.

    aws emr create-cluster \ --name "<My First EMR Cluster>" \ --release-label <emr-5.36.2> \ --applications Name=Spark \ --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-type m5.xlarge \ --instance-count 3 \ --use-default-roles

    Observe os outros valores necessários para --instance-type, --instance-count e --use-default-roles. Esses valores foram escolhidos para clusters de uso geral. Para obter mais informações sobre create-cluster, consulte AWS CLI Command Reference.

    nota

    Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

    O resultado deverá ser parecido com o que segue. A saída mostra o ClusterId e o ClusterArn do seu novo cluster. Anote o seu ClusterId. Você usa o ClusterId para verificar o status do cluster e enviar trabalhos.

    { "ClusterId": "myClusterId", "ClusterArn": "myClusterArn" }
  3. Verifique o status do seu cluster com o comando a seguir.

    aws emr describe-cluster --cluster-id <myClusterId>

    Você deverá visualizar uma saída semelhante à apresentada a seguir com o objeto Status para o seu novo cluster.

    { "Cluster": { "Id": "myClusterId", "Name": "My First EMR Cluster", "Status": { "State": "STARTING", "StateChangeReason": { "Message": "Configuring cluster software" } } } }

    O State valor muda de STARTING para RUNNING à WAITING medida que a Amazon EMR provisiona o cluster.

O status do cluster é alterado para WAITING quando um cluster está ativo, em execução e pronto para aceitar trabalhos. Para obter informações sobre o status do cluster, consulte Noções básicas sobre o ciclo de vida do cluster.

Etapa 2: Envie o trabalho para o seu EMR cluster da Amazon

Enviar o trabalho e exibir os resultados

Após iniciar um cluster, você poderá enviar trabalhos ao cluster em execução para processar e analisar dados. Você envia o trabalho para um EMR cluster da Amazon como uma etapa. Uma etapa é uma unidade de trabalho composta por uma ou mais ações. Por exemplo, você pode enviar uma etapa para calcular valores ou para transferir e processar dados. É possível enviar etapas ao criar um cluster ou para um cluster em execução. Nesta parte do tutorial, você envia health_violations.py como uma etapa para o cluster em execução. Para saber mais sobre as etapas, consulte Envie o trabalho para um EMR cluster da Amazon.

Console
Para enviar uma aplicação do Spark como uma etapa usando o console
  1. Faça login no e abra AWS Management Console o EMR console da Amazon em https://console.aws.amazon.com/emr.

  2. EC2Em EMRAtivado, no painel de navegação esquerdo, escolha Clusters e, em seguida, selecione o cluster para o qual você deseja enviar o trabalho. O estado do cluster deve ser Aguardando.

  3. Escolha a guia Etapas e, em seguida, escolha Adicionar etapa.

  4. Configure a etapa de acordo com as seguintes diretrizes:

    • Para Tipo, escolha Aplicação do Spark. Você deverá visualizar campos adicionais para Modo de implantação, Local da aplicação e Opções de spark-submit.

    • Para Nome, insira um novo nome. Se você tiver muitas etapas em um cluster, nomear cada etapa ajudará a controlá-las.

    • Para Modo de implantação, deixe o valor padrão Modo de cluster. Para obter mais informações sobre os modos de implantação do Spark, consulte Cluster mode overview na documentação do Apache Spark.

    • Em Localização do aplicativo, insira a localização do seu health_violations.py script no Amazon S3, como. s3://amzn-s3-demo-bucket/health_violations.py

    • Deixe o campo Opções de spark-submit vazio. Para obter mais informações sobre as opções de spark-submit, consulte Launching applications with spark-submit.

    • No campo Argumentos, insira os seguintes argumentos e valores:

      --data_source s3://amzn-s3-demo-bucket/food_establishment_data.csv --output_uri s3://amzn-s3-demo-bucket/myOutputFolder

      s3://amzn-s3-demo-bucket/food_establishment_data.csvSubstitua pelo bucket S3 os dados URI de entrada que você preparou. Prepare um aplicativo com dados de entrada para a Amazon EMR

      amzn-s3-demo-bucketSubstitua pelo nome do bucket que você criou para este tutorial e myOutputFolder substitua por um nome para a pasta de saída do cluster.

    • Para Ação se a etapa falhar, aceite a opção padrão Continuar. Dessa forma, se a etapa falhar, o cluster continuará em execução.

  5. Escolha Adicionar para enviar a etapa. A etapa deve ser exibida no console com o status Pendente.

  6. Monitore o status da etapa. Ele deve ser alterado de Pendente para Em execução e, por fim, para Concluído. Para atualizar o status no console, escolha o ícone de atualização à direita de Filtrar. O script demora cerca de um minuto para ser executado. Quando o status for alterado para Concluído, a etapa será concluída com êxito.

CLI
Para enviar uma inscrição no Spark como uma etapa com o AWS CLI
  1. Certifique-se de ter o ClusterId do cluster iniciado em Inicie um EMR cluster da Amazon. Também é possível recuperar o ID do cluster com o comando apresentado a seguir.

    aws emr list-clusters --cluster-states WAITING
  2. Envie health_violations.py como uma etapa com o comando add-steps e seu ClusterId.

    • Você pode especificar um nome para sua etapa substituindo"My Spark Application". Na Args matriz, s3://amzn-s3-demo-bucket/health_violations.py substitua pela localização do seu health_violations.py aplicativo.

    • s3://amzn-s3-demo-bucket/food_establishment_data.csvSubstitua pela localização do seu food_establishment_data.csv conjunto de dados no S3.

    • s3://amzn-s3-demo-bucket/MyOutputFolderSubstitua pelo caminho S3 do bucket designado e por um nome para a pasta de saída do cluster.

    • ActionOnFailure=CONTINUE significa que o cluster continuará em execução se a etapa falhar.

    aws emr add-steps \ --cluster-id <myClusterId> \ --steps Type=Spark,Name="<My Spark Application>",ActionOnFailure=CONTINUE,Args=[<s3://amzn-s3-demo-bucket/health_violations.py>,--data_source,<s3://amzn-s3-demo-bucket/food_establishment_data.csv>,--output_uri,<s3://amzn-s3-demo-bucket/MyOutputFolder>]

    Para obter mais informações sobre o envio de etapas usando oCLI, consulte a Referência de AWS CLI Comandos.

    Após enviar a etapa, você deverá visualizar uma saída como a apresentada a seguir, com uma lista de StepIds. Como você enviou uma etapa, verá somente um ID na lista. Copie o ID da etapa. Você usa o ID da etapa para verificar o status da etapa.

    { "StepIds": [ "s-1XXXXXXXXXXA" ] }
  3. Consulte o status da sua etapa com o comando describe-step.

    aws emr describe-step --cluster-id <myClusterId> --step-id <s-1XXXXXXXXXXA>

    Você deverá visualizar uma saída como a apresentada a seguir com informações sobre a etapa.

    { "Step": { "Id": "s-1XXXXXXXXXXA", "Name": "My Spark Application", "Config": { "Jar": "command-runner.jar", "Properties": {}, "Args": [ "spark-submit", "s3://amzn-s3-demo-bucket/health_violations.py", "--data_source", "s3://amzn-s3-demo-bucket/food_establishment_data.csv", "--output_uri", "s3://amzn-s3-demo-bucket/myOutputFolder" ] }, "ActionOnFailure": "CONTINUE", "Status": { "State": "COMPLETED" } } }

    O State da etapa é alterado de PENDING para RUNNING e para COMPLETED, conforme a etapa é executada. A etapa demora cerca de um minuto para ser executada, então pode ser necessário verificar o status algumas vezes.

Você saberá que a etapa obteve êxito quando o State for alterado para COMPLETED.

Para obter mais informações sobre o ciclo de vida da etapa, consulte Execução de etapas para processar dados.

Visualização dos resultados

Após a execução com êxito de uma etapa, você poderá visualizar os resultados de saída na pasta de saída do Amazon S3.

Visualizar os resultados de health_violations.py
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Escolha o nome do bucket e, em seguida, a pasta de saída que você especificou ao enviar a etapa. Por exemplo, amzn-s3-demo-bucket e depoismyOutputFolder.

  3. Verifique se os seguintes itens aparecem na sua pasta de saída:

    • Um objeto de tamanho pequeno chamado _SUCCESS.

    • Um CSV arquivo que começa com o prefixo part- que contém seus resultados.

  4. Escolha o objeto com seus resultados e, em seguida, escolha Fazer download para salvar os resultados em seu sistema de arquivos local.

  5. Abra os resultados no editor de sua preferência. O arquivo de saída lista os dez principais estabelecimentos de alimentação com o maior número de violações vermelhas. O arquivo de saída também mostra o número total de violações vermelhas para cada estabelecimento.

    Confira a seguir um exemplo de resultados para health_violations.py.

    name, total_red_violations SUBWAY, 322 T-MOBILE PARK, 315 WHOLE FOODS MARKET, 299 PCC COMMUNITY MARKETS, 251 TACO TIME, 240 MCDONALD'S, 177 THAI GINGER, 153 SAFEWAY INC #1508, 143 TAQUERIA EL RINCONSITO, 134 HIMITSU TERIYAKI, 128

Para obter mais informações sobre a saída EMR do cluster da Amazon, consulteConfigurar um local para a saída do EMR cluster da Amazon.

Ao usar a AmazonEMR, talvez você queira se conectar a um cluster em execução para ler arquivos de log, depurar o cluster ou usar CLI ferramentas como o shell do Spark. A Amazon EMR permite que você se conecte a um cluster usando o protocolo Secure Shell (SSH). Esta seção aborda como configurarSSH, conectar-se ao seu cluster e visualizar arquivos de log do Spark. Para obter mais informações sobre como se conectar a um cluster, consulte Autentique-se nos nós de EMR cluster da Amazon.

Autorize SSH conexões com seu cluster

Antes de se conectar ao cluster, você precisa modificar os grupos de segurança do cluster para autorizar conexões de entradaSSH. Os grupos EC2 de segurança da Amazon atuam como firewalls virtuais para controlar o tráfego de entrada e saída do seu cluster. Quando você criou seu cluster para este tutorial, a Amazon EMR criou os seguintes grupos de segurança em seu nome:

ElasticMapReduce-mestre

O grupo de segurança EMR gerenciado padrão da Amazon associado ao nó primário. Em um EMR cluster da Amazon, o nó primário é uma EC2 instância da Amazon que gerencia o cluster.

ElasticMapReduce-escravo

O grupo de segurança padrão associado aos nós centrais e de tarefa.

Console
Para permitir o SSH acesso a fontes confiáveis para o grupo de segurança primário com o console

Para editar seus grupos de segurança, você deve ter permissão para gerenciar grupos de segurança do cluster em VPC que o cluster está. Para obter mais informações, consulte Alteração de permissões para um usuário e o exemplo de política que permite gerenciar grupos de EC2 segurança no Guia IAM do usuário.

  1. Faça login no e abra AWS Management Console o EMR console da Amazon em https://console.aws.amazon.com/emr.

  2. EC2Em EMRAtivado, no painel de navegação esquerdo, escolha Clusters e, em seguida, escolha o cluster que você deseja atualizar. Isso abre a página de detalhes do cluster. A guia Propriedades nesta página deve estar pré-selecionada.

  3. Em Rede, na guia Propriedades, selecione a seta ao lado EC2de grupos de segurança (firewall) para expandir essa seção. Em Nó primário, selecione o link do grupo de segurança. Ao concluir as etapas a seguir, você pode, opcionalmente, voltar a essa etapa, escolher os nós principais e de tarefas e repetir as etapas a seguir para permitir que o SSH cliente acesse os nós principais e de tarefas.

  4. Isso abre o console do EC2. Escolha a guia Regras de entrada e, em seguida, Editar regras de entrada.

  5. Verifique se há uma regra de entrada que permita acesso público com as configurações a seguir. Se existir, escolha Excluir para removê-la.

    • Tipo

      SSH

    • Porta

      22

    • Origem

      Personalizado 0.0.0.0/0

    Atenção

    Antes de dezembro de 2020, o grupo de segurança ElasticMapReduce -master tinha uma regra pré-configurada para permitir tráfego de entrada na Porta 22 de todas as fontes. Essa regra foi criada para simplificar SSH as conexões iniciais com o nó principal. Recomendamos fortemente remover esta regra de entrada e restringir o tráfego para origens confiáveis.

  6. Role até o final da lista de regras e escolha Adicionar regra.

  7. Em Tipo, selecione SSH. A seleção insere SSH automaticamente TCPpara Protocolo e 22 para Intervalo de Portas.

  8. Para a origem, selecione Meu IP para adicionar automaticamente seu endereço IP como o endereço de origem. Você também pode adicionar um intervalo ​​personalizado de endereços IP de clientes confiáveis ou criar regras adicionais para outros clientes. Diversos ambientes de rede alocam endereços IP dinamicamente, portanto, pode ser necessário atualizar os endereços IP para clientes confiáveis ​​no futuro.

  9. Escolha Salvar.

  10. Opcionalmente, escolha nós principais e de tarefas na lista e repita as etapas acima para permitir o acesso SSH do cliente aos nós principais e de tarefas.

Conecte-se ao seu cluster usando o AWS CLI

Independentemente do seu sistema operacional, você pode criar uma SSH conexão com seu cluster usando AWS CLI o.

Para se conectar ao seu cluster e visualizar os arquivos de log usando o AWS CLI
  1. Use o comando a seguir para abrir uma SSH conexão com seu cluster. <mykeypair.key>Substitua pelo caminho completo e pelo nome do arquivo do seu arquivo de key pair. Por exemplo, C:\Users\<username>\.ssh\mykeypair.pem.

    aws emr ssh --cluster-id <j-2AL4XXXXXX5T9> --key-pair-file <~/mykeypair.key>
  2. Navegue até /mnt/var/log/spark para acessar os logs do Spark no nó principal do cluster. Em seguida, visualize os arquivos nesse local. Para obter uma lista de arquivos de log adicionais no nó principal, consulte Visualizar arquivos de log no nó primário.

    cd /mnt/var/log/spark ls

O Amazon EMR on também EC2 é um tipo de computação compatível com o Amazon SageMaker AI Unified Studio. Consulte Managing Amazon EMR on EC2 para saber como usar e gerenciar EC2 recursos EMR no Amazon SageMaker AI Unified Studio.

Etapa 3: limpe seus EMR recursos da Amazon

Encerramento do cluster

Agora que você enviou o trabalho para seu cluster e visualizou os resultados do seu PySpark aplicativo, você pode encerrar o cluster. O encerramento de um cluster interrompe todas as EMR cobranças e EC2 instâncias da Amazon associadas ao cluster.

Quando você encerra um cluster, a Amazon EMR retém metadados sobre o cluster por dois meses sem nenhum custo. Os metadados arquivados ajudam a clonar o cluster para um novo trabalho ou a revisitar a configuração do cluster para finalidades de referência. Os metadados não incluem dados que o cluster grava no S3 ou dados armazenados HDFS no cluster.

nota

O EMR console da Amazon não permite que você exclua um cluster da visualização de lista depois de encerrar o cluster. Um cluster encerrado desaparece do console quando a Amazon EMR limpa seus metadados.

Console
Para encerrar o cluster com o console
  1. Faça login no e abra AWS Management Console o EMR console da Amazon em https://console.aws.amazon.com/emr.

  2. Escolha Clusters e, em seguida, selecione o cluster que você deseja encerrar.

  3. No menu suspenso Ações, escolha Encerrar cluster.

  4. Escolha Encerrar na caixa de diálogo. Dependendo da configuração do cluster, o encerramento pode demorar de cinco a dez minutos. Para obter mais informações sobre como criar EMR clusters da Amazon, consulteEncerrar um EMR cluster da Amazon nos estados inicial, em execução ou em espera.

CLI
Para encerrar o cluster com o AWS CLI
  1. Inicie o processo de encerramento do cluster com o comando a seguir. <myClusterId>Substitua pelo ID do seu cluster de amostra. O comando não retorna uma saída.

    aws emr terminate-clusters --cluster-ids <myClusterId>
  2. Para verificar se o processo de encerramento do cluster está em andamento, verifique o status do cluster com o comando a seguir.

    aws emr describe-cluster --cluster-id <myClusterId>

    A seguir está um exemplo de saída em JSON formato. O Status do cluster deve ser alterado de TERMINATING para TERMINATED. O encerramento pode demorar de cinco a dez minutos, dependendo da configuração do cluster. Para obter mais informações sobre o encerramento de um EMR cluster da Amazon, consulteEncerrar um EMR cluster da Amazon nos estados inicial, em execução ou em espera.

    { "Cluster": { "Id": "j-xxxxxxxxxxxxx", "Name": "My Cluster Name", "Status": { "State": "TERMINATED", "StateChangeReason": { "Code": "USER_REQUEST", "Message": "Terminated by user request" } } } }

Exclusão de recursos do S3

Para evitar cobranças adicionais, você deve excluir o bucket do Amazon S3. Excluir o bucket remove todos os recursos do Amazon S3 deste tutorial. O bucket deve conter:

  • O PySpark roteiro

  • O conjunto de dados de entrada.

  • Sua pasta de resultados de saída.

  • Sua pasta de arquivos de log.

Talvez seja necessário tomar medidas adicionais para excluir os arquivos armazenados se você salvou o PySpark script ou a saída em um local diferente.

nota

O cluster deve ser encerrado antes de você excluir o bucket. Caso contrário, pode não ser possível esvaziar o bucket.

Para excluir seu bucket, siga as instruções apresentadas em How do I delete an S3 bucket? no Guia do usuário do Amazon Simple Storage Service.

Próximas etapas

Agora você lançou seu primeiro EMR cluster da Amazon do início ao fim. Você também concluiu EMR tarefas essenciais, como preparar e enviar aplicativos de big data, visualizar resultados e encerrar um cluster.

Use os tópicos a seguir para saber mais sobre como você pode personalizar seu EMR fluxo de trabalho na Amazon.

Explore aplicativos de big data para a Amazon EMR

Descubra e compare os aplicativos de big data que você pode instalar em um cluster no Amazon EMR Release Guide. O Guia de lançamento detalha cada versão de EMR lançamento e inclui dicas para usar estruturas como Spark e Hadoop na Amazon. EMR

Planejamento do hardware, das redes e da segurança do cluster

Neste tutorial, você criou um EMR cluster simples sem configurar opções avançadas. As opções avançadas permitem que você especifique os tipos de EC2 instância, a rede e a segurança do cluster da Amazon. Para obter mais informações sobre como planejar e iniciar um cluster que atenda aos seus requisitos, consulte Planeje, configure e lance EMR clusters da Amazon e Segurança na Amazon EMR.

Gerenciar clusters

Aprofunde-se no trabalho com clusters em execução em Gerencie EMR clusters da Amazon. Para gerenciar um cluster, é possível se conectar ao cluster, depurar etapas e rastrear as atividades e a integridade do cluster. Você também pode ajustar os recursos do cluster em resposta às demandas de carga de trabalho com escalabilidade EMR gerenciada.

Uso de uma interface diferente

Além do EMR console da Amazon, você pode gerenciar a AWS Command Line Interface Amazon EMR usando o serviço API web ou um dos muitos compatíveis AWS SDKs. Para obter mais informações, consulte Interfaces de gerenciamento.

Você também pode interagir com aplicativos instalados nos EMR clusters da Amazon de várias maneiras. Algumas aplicações, como o Apache Hadoop, publicam interfaces da Web que você pode visualizar. Para obter mais informações, consulte Visualize interfaces web hospedadas em EMR clusters da Amazon.

Navegue pelo blog EMR técnico

Para exemplos de apresentações e discussões técnicas aprofundadas sobre os novos EMR recursos da Amazon, consulte o AWS blog de big data.