Opções de arquitetura do Amazon EMR Sem Servidor - Amazon EMR

Opções de arquitetura do Amazon EMR Sem Servidor

A arquitetura do conjunto de instruções da aplicação do Amazon EMR Sem Servidor determina o tipo de processador que a aplicação usa para executar o trabalho. O Amazon EMR fornece duas opções de arquitetura para a aplicação: x86_64 e arm64. O EMR Sem Servidor é atualizado automaticamente para a última geração de instâncias à medida que elas se tornam disponíveis, para que suas aplicações possam usar as instâncias mais novas sem exigir esforço adicional de sua parte.

Uso da arquitetura x86_64

A arquitetura x86_64 também é conhecida como x86 de 64 bits ou x64. x86_64 é a opção padrão para aplicações do EMR Sem Servidor. Essa arquitetura usa processadores baseados em x86 e é compatível com a maioria das ferramentas e bibliotecas de terceiros.

A maioria das aplicações é compatível com a plataforma de hardware x86 e pode ser executada com êxito na arquitetura x86_64 padrão. No entanto, se a aplicação for compatível com ARM de 64 bits, você poderá mudar para arm64 e usar os processadores Graviton para melhorar a performance, a potência computacional e a memória. Custa menos executar instâncias na arquitetura arm64 do que executar instâncias do mesmo tamanho na arquitetura x86.

Uso da arquitetura arm64 (Graviton)

Os processadores AWS Graviton são projetados de forma personalizada pela AWS com núcleos ARM Neoverse de 64 bits e utilizam a arquitetura arm64 (também conhecida como Arch64 ou ARM de 64 bits). A linha de processadores AWS Graviton disponível no EMR Sem Servidor inclui os processadores Graviton3 e Graviton2. Esses processadores oferecem um melhor custo-benefício para workloads do Spark e do Hive em comparação com workloads equivalentes executadas na arquitetura x86_64. O EMR Sem Servidor usa automaticamente a última geração de processadores quando disponível, sem nenhum esforço de sua parte para fazer o upgrade para a última geração de processadores.

Lançamento de aplicações com suporte ao Graviton

Use um dos métodos a seguir para iniciar uma aplicação com a arquitetura arm64.

AWS CLI

Para iniciar uma aplicação usando processadores Graviton na AWS CLI, especifique ARM64 como o parâmetro architecture na API create-application. Forneça os valores adequados para a aplicação em outros parâmetros.

aws emr-serverless create-application \ --name my-graviton-app \ --release-label emr-6.8.0 \ --type "SPARK" \ --architecture "ARM64" \ --region us-west-2
EMR Studio

Para iniciar uma aplicação usando os processadores Graviton do EMR Studio, escolha arm64 como a opção Arquitetura ao criar ou atualizar uma aplicação.

Configuração de aplicações existentes para usar o Graviton

Você pode configurar aplicações existentes do Amazon EMR Sem Servidor para usar a arquitetura do Graviton (arm64) com o SDK, a AWS CLI ou o EMR Studio.

Para converter uma aplicação existente de x86 para arm64
  1. Confirme se você está usando a versão principal mais recente da AWS CLI ou do SDK com suporte ao parâmetro architecture.

  2. Confirme se não há trabalhos em execução e interrompa a aplicação.

    aws emr-serverless stop-application \ --application-id application-id \ --region us-west-2
  3. Para atualizar a aplicação e usar o Graviton, especifique ARM64 para o parâmetro architecture na API update-application.

    aws emr-serverless update-application \ --application-id application-id \ --architecture 'ARM64' \ --region us-west-2
  4. Para verificar se a arquitetura da CPU da aplicação agora é arm64, use a API get-application.

    aws emr-serverless get-application \ --application-id application-id \ --region us-west-2
  5. Quando estiver tudo pronto, reinicie a aplicação.

    aws emr-serverless start-application \ --application-id application-id \ --region us-west-2

Considerações ao usar o Graviton

Antes de iniciar uma aplicação do EMR Sem Servidor usando arm64 para suporte ao Graviton, confirme os requisitos a seguir.

Compatibilidade de bibliotecas

Ao selecionar o Graviton (arm64) como opção de arquitetura, certifique-se de que pacotes e bibliotecas de terceiros sejam compatíveis com a arquitetura ARM de 64 bits. Para obter informações sobre como empacotar bibliotecas Python em um ambiente virtual Python compatível com a arquitetura selecionada, consulte Uso de bibliotecas do Python com o EMR Sem Servidor.

Para saber mais sobre como configurar uma workload do Spark ou do Hive para usar o ARM de 64 bits, consulte o repositório AWS Graviton Getting Started no GitHub. Esse repositório contém recursos essenciais que podem ajudar você a começar a usar o Graviton baseado em ARM.