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.
Tópicos
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.
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
-
Confirme se você está usando a versão principal mais recente da AWS CLI ou do SDK
com suporte ao parâmetro architecture
. -
Confirme se não há trabalhos em execução e interrompa a aplicação.
aws emr-serverless stop-application \ --application-id
application-id
\ --regionus-west-2
-
Para atualizar a aplicação e usar o Graviton, especifique
ARM64
para o parâmetroarchitecture
na APIupdate-application
.aws emr-serverless update-application \ --application-id
application-id
\ --architecture 'ARM64' \ --regionus-west-2
-
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
\ --regionus-west-2
-
Quando estiver tudo pronto, reinicie a aplicação.
aws emr-serverless start-application \ --application-id
application-id
\ --regionus-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