Execução de workloads interativas com o EMR Sem Servidor por meio do EMR Studio - Amazon EMR

Execução de workloads interativas com o EMR Sem Servidor por meio do EMR Studio

Com as aplicações interativas do EMR Sem Servidor, você pode executar workloads interativas para o Spark com o EMR Sem Servidor usando cadernos hospedados no EMR Studio.

Visão geral

Uma aplicação interativa é uma aplicação do EMR Sem Servidor que tem recursos interativos habilitados. Com as aplicações interativas do Amazon EMR Sem Servidor, você pode executar workloads interativas com cadernos Jupyter gerenciados no Amazon EMR Studio. Essa ação ajuda engenheiros de dados, cientistas de dados e analistas de dados a usar o EMR Studio para executar analytics interativas com conjuntos de dados em armazenamentos de dados como o Amazon S3 e o Amazon DynamoDB.

Os casos de uso de aplicações interativas no EMR Sem Servidor incluem:

  • Os engenheiros de dados usam a experiência de IDE no EMR Studio para criar um script ETL. O script ingere dados on-premises, os transforma para análise e os armazena no Amazon S3.

  • Os cientistas de dados usam cadernos para explorar conjuntos de dados e treinar modelos de machine learning (ML) para detectar anomalias nos conjuntos de dados.

  • Os analistas de dados exploram conjuntos de dados e criam scripts que geram relatórios diários para atualizar aplicações como painéis de negócios.

Pré-requisitos

Para usar workloads interativas com o EMR Sem Servidor, você deve atender aos seguintes requisitos:

  • As aplicações interativas do EMR Sem Servidor são compatíveis com o Amazon EMR 6.14.0 e versões superiores.

  • Para acessar sua aplicação interativa, executar as workloads enviadas e executar cadernos interativos do EMR Studio, você precisa de permissões e perfis específicos. Para ter mais informações, consulte Permissões necessárias para workloads interativas.

Permissões necessárias para workloads interativas

Além das permissões básicas necessárias para acessar o EMR Sem Servidor, você deve configurar permissões adicionais para a identidade ou o perfil do IAM:

Para acessar a aplicação interativa

Configure as permissões de usuário e Workspace do EMR Studio. Para obter mais informações, consulte Configure EMR Studio user permissions no Guia de gerenciamento do Amazon EMR.

Para executar as workloads enviadas com o EMR Sem Servidor

Configuração de um perfil de runtime do trabalho. Para ter mais informações, consulte Criação de um perfil de runtime de trabalhos.

Para executar os cadernos interativos do EMR Studio

Adicione as seguintes permissões adicionais à política do IAM para os usuários do Studio:

  • emr-serverless:AccessInteractiveEndpoints: concede permissão para acessar e se conectar à aplicação interativa que você especifica como Resource. Essa permissão é necessária para se anexar a uma aplicação do EMR Sem Servidor de um Workspace do EMR Studio.

  • iam:PassRole: concede permissão para acessar o perfil de execução do IAM que você planeja usar ao se conectar a uma aplicação. É necessária a permissão PassRole apropriada para se anexar a uma aplicação do EMR Sem Servidor de um Workspace do EMR Studio.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessInteractiveAccess", "Effect": "Allow", "Action": "emr-serverless:AccessInteractiveEndpoints", "Resource": "arn:aws:emr-serverless:Region:account:/applications/*" }, { "Sid": "EMRServerlessRuntimeRoleAccess", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "interactive-execution-role-ARN", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }

Configuração de aplicações interativas

Use as etapas de alto nível a seguir para criar uma aplicação do EMR Sem Servidor com recursos interativos do Amazon EMR Studio no AWS Management Console.

  1. Siga as etapas em Conceitos básicos do Amazon EMR Sem Servidor para criar uma aplicação.

  2. Em seguida, inicie um Workspace do EMR Studio e se anexe a uma aplicação do EMR Sem Servidor como opção de computação. Para obter mais informações, consulte a guia Workload interativa na Etapa 2 da documentação EMR Serverless Getting Started.

Quando você anexa uma aplicação a um Workspace do Studio, o início da aplicação é acionado automaticamente se ainda não estiver em execução. Você também pode pré-iniciar a aplicação e mantê-la pronta antes de anexá-la ao Workspace.

Considerações sobre aplicações interativas

  • As aplicações interativas do EMR Sem Servidor são compatíveis com o Amazon EMR 6.14.0 e versões superiores.

  • O EMR Studio é o único cliente integrado às aplicações interativas do EMR Sem Servidor. Os seguintes recursos do EMR Studio não são compatíveis com as aplicações interativas do EMR Sem Servidor: colaboração no Workspace, SQL Explorer e execução programática de cadernos.

  • Aplicações interativas são compatíveis apenas com o mecanismo Spark.

  • As aplicações interativas oferecem suporte aos kernels Python 3, PySpark e Spark Scala.

  • Você pode executar até 25 cadernos simultâneos em uma única aplicação interativa.

  • Não há um endpoint ou interface de API que ofereça suporte a cadernos Jupyter auto-hospedados com aplicações interativas.

  • Para uma experiência de inicialização otimizada, recomendamos configurar a capacidade pré-inicializada de drivers e executores e pré-iniciar a aplicação. Ao pré-iniciar a aplicação, você garante que ela esteja pronta quando quiser anexá-la ao Workspace.

    aws emr-serverless start-application \ --application-id your-application-id
  • Por padrão, autoStopConfig está habilitado para aplicações. Isso desliga a aplicação após 30 minutos de tempo ocioso. Você pode alterar essa configuração como parte da solicitação create-application ou update-application.

  • Ao usar uma aplicação interativa, recomendamos configurar uma capacidade pré-inicializada de kernels, drivers e executores para executar os cadernos. Cada sessão interativa do Spark requer um kernel e um driver, então o EMR Sem Servidor mantém um trabalhador do kernel pré-inicializado para cada driver pré-inicializado. Por padrão, o EMR Sem Servidor mantém uma capacidade pré-inicializada de um trabalhador do kernel em toda a aplicação, mesmo que você não especifique nenhuma capacidade pré-inicializada para drivers. Cada trabalhador do kernel usa 4 vCPUs e 16 GB de memória. Para obter informações atuais sobre preço, consulte a página Preços do Amazon EMR.

  • Você deve ter uma cota de serviço de vCPU suficiente na Conta da AWS para executar workloads interativas. Se você não executa workloads habilitadas para Lake Formation, recomendamos pelo menos 24 vCPUs. Caso execute, recomendamos no mínimo 28 vCPUs.

  • O EMR Sem Servidor encerra automaticamente os kernels dos cadernos se eles ficarem inativos por mais de 60 minutos. O EMR Sem Servidor calcula o tempo ocioso do kernel a partir da última atividade concluída durante a sessão do caderno. No momento, você não pode modificar a configuração do tempo limite de inatividade do kernel.

  • Para habilitar o Lake Formation com workloads interativas, defina a configuração spark.emr-serverless.lakeformation.enabled para true na classificação spark-defaults no objeto runtime-configuration ao criar uma aplicação do EMR Sem Servidor. Para saber mais sobre como habilitar o Lake Formation no EMR Sem Servidor, consulte Enabling Lake Formation in Amazon EMR.