Personalização de imagens do Docker para endpoints interativos - Amazon EMR

Personalização de imagens do Docker para endpoints interativos

Você também pode personalizar as imagens do Docker para endpoints interativos com a finalidade de executar imagens base de kernel personalizadas. Isso ajuda a garantir que você tenha as dependências necessárias ao executar workloads interativas do EMR Studio.

  1. Siga as etapas 1 a 4 descritas acima para personalizar uma imagem do Docker. Para versões 6.9.0 e posteriores do Amazon EMR, é possível obter o URI da imagem base na galeria pública do Amazon ECR. Para versões anteriores ao Amazon EMR 6.9.0, você pode obter a imagem nas contas de registro do Amazon ECR em cada Região da AWS, e a única diferença é o URI da imagem base em seu Dockerfile. O URI da imagem base segue o formato:

    ECR-registry-account.dkr.ecr.Region.amazonaws.com/notebook-spark/container-image-tag

    Você precisa usar notebook-spark no URI da imagem base, em vez de spark. A imagem base contém o runtime do Spark e os kernels do caderno que são executados com ele. Para obter mais informações sobre como selecionar as regiões e as etiquetas de imagem de contêiner, consulte Detalhes sobre como selecionar um URI de imagem base.

    nota

    No momento, somente substituições de imagens base têm suporte. A introdução de kernels completamente novos de outros tipos, que não as imagens base fornecidas pela AWS, não tem suporte.

  2. Crie um endpoint interativo que possa ser usado com a imagem personalizada.

    Primeiro, crie um arquivo JSON chamado custom-image-managed-endpoint.json com o conteúdo apresentado a seguir.

    { "name": "endpoint-name", "virtualClusterId": "virtual-cluster-id", "type": "JUPYTER_ENTERPRISE_GATEWAY", "releaseLabel": "emr-6.6.0-latest", "executionRoleArn": "execution-role-arn", "certificateArn": "certificate-arn", "configurationOverrides": { "applicationConfiguration": [ { "classification": "jupyter-kernel-overrides", "configurations": [ { "classification": "python3", "properties": { "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-python:latest" } }, { "classification": "spark-python-kubernetes", "properties": { "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-spark:latest" } } ] } ] } }

    Em seguida, crie um endpoint interativo usando as configurações especificadas no arquivo JSON, como demonstra o exemplo a seguir.

    aws emr-containers create-managed-endpoint --cli-input-json custom-image-managed-endpoint.json

    Para obter mais informações, consulte Criação de um endpoint interativo para o cluster virtual.

  3. Conecte-se ao endpoint interativo usando o EMR Studio. Para obter mais informações, consulte Connecting from Studio.