Consideraciones sobre EMR Studio - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Consideraciones sobre EMR Studio

Consideraciones

Tenga en cuenta lo siguiente cuando trabaje con EMR Studio:

  • EMR Studio está disponible en las siguientes versiones: Regiones de AWS

    • Este de EE. UU. (Ohio) (us-east-2)

    • Este de EE. UU. (Norte de Virginia) (us-east-1)

    • EE. UU. Oeste (Norte de California) (us-west-1)

    • Oeste de EE. UU. (Oregón) (us-west-2)

    • África (Ciudad del Cabo) (af-south-1)

    • Asia-Pacífico (Hong Kong) (ap-east-1)

    • Asia Pacífico (Yakarta) (ap-southeast-3) *

    • Asia Pacífico (Melbourne) (ap-southeast-4) *

    • Asia Pacífico (Bombay) (ap-south-1)

    • Asia-Pacífico (Osaka) (ap-northeast-3) *

    • Asia-Pacífico (Seúl) (ap-northeast-2)

    • Asia-Pacífico (Singapur) (ap-southeast-1)

    • Asia-Pacífico (Sídney) (ap-southeast-2)

    • Asia-Pacífico (Tokio) (ap-northeast-1)

    • Canadá (centro) (ca-central-1)

    • Europa (Fráncfort) (eu-central-1)

    • Europa (Irlanda) (eu-west-1)

    • Europa (Londres) (eu-west-2)

    • UE (Milán) (eu-south-1)

    • UE (París) (eu-west-3)

    • Europa (España) (eu-south-2)

    • Europa (Estocolmo) (eu-north-1)

    • Europa (Zúrich) (eu-central-2) *

    • Israel (Tel Aviv) (il-central-1)*

    • Oriente Medio (EAU) (me-central-1) *

    • América del Sur (São Paulo) (sa-east-1)

    • AWS GovCloud (EEUU-Este) (-1) gov-us-east

    • AWS GovCloud (EEUU-Oeste) (gov-us-west-1)

    * La interfaz de usuario de Spark en vivo no es compatible en estas regiones.

  • Para permitir a los usuarios aprovisionar nuevos clústeres de EMR que se ejecuten en Amazon EC2 para un espacio de trabajo, puede asociar un estudio de EMR a un conjunto de plantillas de clúster. Los administradores pueden definir plantillas de clúster con Service Catalog y elegir si un usuario o un grupo puede acceder a las plantillas de clúster o a ninguna dentro del estudio.

  • Cuando defina los permisos de acceso a los archivos de bloc de notas almacenados en Amazon S3 o de los que lee secretos AWS Secrets Manager, utilice el rol de servicio Amazon EMR. Estos permisos no admiten políticas de sesión.

  • Puede crear varios estudios de EMR Studio para controlar el acceso a los clústeres de EMR en diferentes VPC.

  • Úselo AWS CLI para configurar Amazon EMR en los clústeres de EKS. A continuación, puede utilizar la interfaz de Studio para asociar clústeres a los espacios de trabajo con un punto de conexión administrado para ejecutar trabajos de cuaderno.

  • Al utilizar la propagación de identidades de confianza con Amazon EMR, hay consideraciones adicionales que también se aplican a EMR Studio. Para obtener más información, consulte Consideraciones y limitaciones de Amazon EMR con la integración de Identity Center.

  • EMR Studio no admite los siguientes comandos mágicos de Python:

    • %alias

    • %alias_magic

    • %automagic

    • %macro

    • %%js

    • %%javascript

    • Modificar proxy_user mediante %configure

    • Modificar KERNEL_USERNAME mediante %env o %set_env

  • Los clústeres de Amazon EMR en EKS no admiten SparkMagic comandos para EMR Studio.

  • Para escribir instrucciones de Scala de varias líneas en celdas de cuadernos, asegúrese de que todas las líneas, excepto la última, terminen con un punto. En el siguiente ejemplo, se utiliza la sintaxis correcta para las instrucciones de Scala de varias líneas.

    val df = spark.sql("SELECT * from table_name). filter("col1=='value'"). limit(50)
  • Para aumentar la seguridad de las aplicaciones fuera de la consola que podría utilizar con Amazon EMR, los dominios de alojamiento de aplicaciones se registran en la lista de sufijos públicos (PSL). Algunos ejemplos de estos dominios de alojamiento son los siguientes: emrstudio-prod.us-east-1.amazonaws.com, emrnotebooks-prod.us-east-1.amazonaws.com, emrappui-prod.us-east-1.amazonaws.com. Para mayor seguridad, si necesita configurar cookies confidenciales en el nombre de dominio predeterminado, le recomendamos que utilice cookies con el prefijo __Host-. Esta práctica lo ayuda a proteger su dominio de los intentos de falsificación de solicitudes entre sitios (CSRF). Para obtener más información, consulte la página Set-Cookie en la Red de desarrolladores de Mozilla.

Problemas conocidos

  • Un EMR Studio que utiliza IAM Identity Center con la propagación de identidades de confianza habilitada solo puede asociarse con clústeres de EMR que también utilizan la propagación de identidades de confianza.

  • Asegúrese de desactivar las herramientas de administración de proxy como FoxyProxy o SwitchyOmega en el navegador antes de crear un Studio. Los proxies activos pueden provocar errores al seleccionar Crear estudio y pueden generar un mensaje de error de red.

  • Los kernels que se ejecutan en clústeres de Amazon EMR en EKS pueden no iniciarse debido a problemas de tiempo de espera. Si se produce un error o un problema al iniciar el kernel, cierre el archivo del cuaderno, apague el kernel y vuelva a abrir el archivo del cuaderno.

  • La operación Reiniciar el kernel no funciona según lo esperado cuando se utiliza un clúster de Amazon EMR en EKS. Tras seleccionar Reiniciar el kernel, actualice el espacio de trabajo para que el reinicio surta efecto.

  • Si un espacio de trabajo no está conectado a un clúster, aparece un mensaje de error cuando un usuario de Studio abre un archivo de cuaderno e intenta seleccionar un kernel. Para ignorar este mensaje de error, pulse Aceptar, pero debe asociar el espacio de trabajo a un clúster y seleccionar un kernel para poder ejecutar el código del cuaderno.

  • Cuando utiliza Amazon EMR 6.2.0 con una configuración de seguridad para configurar la seguridad del clúster, la interfaz del espacio de trabajo aparece en blanco y no funciona como se esperaba. Le recomendamos que utilice una versión compatible diferente de Amazon EMR si desea configurar el cifrado de datos o la autorización de Amazon S3 para EMRFS en un clúster. EMR Studio funciona con las versiones 5.32.0 (serie 5.x de Amazon EMR) o 6.2.0 (serie 6.x de Amazon EMR) y posteriores de Amazon EMR.

  • Cuando Depurar Amazon EMR que se ejecuta en trabajos de Amazon EC2, es posible que los enlaces a la interfaz de usuario de Spark en el clúster no funcionen o no aparezcan. Para regenerar los enlaces, cree una nueva celda del cuaderno y ejecute el comando %%info.

  • Jupyter Enterprise Gateway no limpia los kernels inactivos del nodo principal de un clúster en las siguientes versiones de Amazon EMR: 5.32.0, 5.33.0, 6.2.0 y 6.3.0. Los kernels inactivos consumen recursos de computación y pueden provocar errores en los clústeres que se ejecutan durante mucho tiempo. Puede configurar la limpieza de kernels inactivos de Jupyter Enterprise Gateway mediante el siguiente script de ejemplo. Puede Conectarse al nodo principal mediante SSH o enviar el script como un paso. Para obtener más información, consulte Ejecutar comandos y scripts en un clúster de Amazon EMR.

    #!/bin/bash sudo tee -a /emr/notebook-env/conf/jupyter_enterprise_gateway_config.py << EOF c.MappingKernelManager.cull_connected = True c.MappingKernelManager.cull_idle_timeout = 10800 c.MappingKernelManager.cull_interval = 300 EOF sudo systemctl daemon-reload sudo systemctl restart jupyter_enterprise_gateway
  • Cuando utiliza una política de terminación automática con las versiones 5.32.0, 5.33.0, 6.2.0 o 6.3.0 de Amazon EMR, Amazon EMR marca un clúster como inactivo y puede terminarlo automáticamente incluso si tiene un kernel de Python3 activo. Esto se debe a que al ejecutar un kernel de Python3 no se envía ningún trabajo de Spark al clúster. Para utilizar la terminación automática con un kernel de Python3, le recomendamos que utilice la versión 6.4.0 o posterior de Amazon EMR. Para obtener más información sobre la terminación automática, consulte Uso de una política de terminación automática.

  • Cuando se suele %%display mostrar un Spark DataFrame en una tabla, las tablas muy anchas pueden truncarse. Puede hacer clic con el botón derecho en la salida y seleccionar Crear nueva vista para la salida para obtener una vista desplazable de la salida.

  • Al iniciar un núcleo basado en Spark, como PySpark Spark o SparkR, se inicia una sesión de Spark y, al ejecutar una celda en un cuaderno, se ponen en cola los trabajos de Spark de esa sesión. Cuando interrumpes una celda en ejecución, el trabajo de Spark continúa ejecutándose. Para detener el trabajo de Spark, debe usar la interfaz de usuario de Spark en el clúster. Para obtener instrucciones sobre cómo conectarse a la interfaz de usuario de Spark, consulte Depurar aplicaciones y trabajos con EMR Studio.

Limitaciones de características

Amazon EMR Studio no admite las siguientes características de Amazon EMR:

  • Asociar y ejecutar trabajos en clústeres de EMR con una configuración de seguridad que especifique la autenticación de Kerberos

  • Clústeres con varios nodos principales

  • Clústeres que utilizan instancias de Amazon EC2 basadas en AWS Graviton2 para las versiones 6.x de Amazon EMR anteriores a 6.9.0 y 5.x inferiores a 5.36.1

Un Studio que utiliza la propagación de identidades de confianza no admite las siguientes características:

  • Creación de clústeres de EMR sin plantilla.

  • Utilización de aplicaciones de EMR sin servidor.

  • Lanzamiento de clústeres de Amazon EMR en EKS.

  • Utilización de un rol de tiempo de ejecución.

  • Habilitación de la colaboración en SQL Explorer o Workspace.

Límites de servicio para EMR Studio

En la siguiente tabla se muestran los límites de servicio de EMR Studio.

Elemento Límite
Estudios de EMR Studio AWS Máximo de 100 por cuenta
Subredes Máximo de 5 asociados a cada EMR Studio
Grupos de IAM Identity Center Máximo de 5 asignados a cada EMR Studio
Usuarios de IAM Identity Center Máximo de 100 asignados a cada EMR Studio

Prácticas recomendadas sobre VPC y subredes

Utilice las siguientes prácticas recomendadas para configurar una Amazon Virtual Private Cloud (Amazon VPC) con subredes para EMR Studio:

  • Puede especificar un máximo de cinco subredes en la VPC para asociarlas al estudio. Recomendamos que proporcione varias subredes en diferentes zonas de disponibilidad para respaldar la disponibilidad del espacio de trabajo y permitir que los usuarios de Studio accedan a los clústeres de las distintas zonas de disponibilidad. Para obtener más información sobre cómo trabajar con las VPC, las subredes y las zonas de disponibilidad, consulta VPC y subredes en la Guía del usuario de Amazon Virtual Private Cloud .

  • Las subredes que especifique deben poder comunicarse entre sí.

  • Para permitir que los usuarios vinculen un espacio de trabajo a repositorios de Git alojados públicamente, debe especificar solo las subredes privadas que tengan acceso a internet a través de la traducción de direcciones de red (NAT). Para obtener más información sobre la configuración de una subred privada para Amazon EMR, consulte Subredes privadas.

  • Cuando utiliza Amazon EMR en EKS con EMR Studio, debe haber al menos una subred en común entre su estudio y el clúster de Amazon EKS que utiliza para registrar un clúster virtual. De lo contrario, el punto de conexión administrado no aparecerá como opción en los espacios de trabajo de Studio. Puede crear un clúster de Amazon EKS y asociarlo a una subred que pertenezca al estudio, o bien crear un estudio y especificar las subredes del clúster de EKS.

  • Si planea usar Amazon EMR en EKS con EMR Studio, seleccione la misma VPC como los nodos de trabajo del clúster de Amazon EKS.

Requisitos de clúster para Amazon EMR Studio

Clústeres de Amazon EMR que se ejecutan en Amazon EC2

Todos los clústeres de Amazon EMR que se ejecuten en Amazon EC2 y que cree para un espacio de trabajo de EMR Studio deben cumplir los siguientes requisitos. Los clústeres que cree mediante la interfaz de EMR Studio cumplen automáticamente estos requisitos.

  • El clúster debe usar las versiones 5.32.0 (serie Amazon EMR 5.x) o 6.2.0 (serie Amazon EMR 6.x) o posteriores de Amazon EMR. Puede crear un clúster mediante la consola o el SDK de Amazon EMR y AWS Command Line Interface, a continuación, adjuntarlo a un espacio de trabajo de EMR Studio. Los usuarios del estudio también pueden aprovisionar y asociar clústeres al crear o trabajar en un espacio de trabajo de Amazon EMR. Para obtener más información, consulte Asociar computación a un espacio de trabajo de EMR Studio.

  • El clúster debe estar dentro de una Amazon Virtual Private Cloud. No se admite la plataforma EC2-Classic.

  • El clúster debe tener Spark, Livy y Jupyter Enterprise Gateway instalados. Si planea usar el clúster para el Explorador de SQL, debe instalar Presto y Spark.

  • Para usar el Explorador de SQL, el clúster debe usar la versión 5.34.0 o posterior o la versión 6.4.0 o posterior de Amazon EMR y tener instalado Presto. Si quiere especificar el catálogo de datos de AWS Glue como el metaalmacén de Hive para Presto, debe configurarlo en el clúster. Para obtener más información, consulte Uso de Presto con el Catálogo de datos de AWS Glue.

  • El clúster debe estar en una subred privada con traducción de direcciones de red (NAT) para usar repositorios de Git alojados públicamente con EMR Studio.

Recomendamos las siguientes configuraciones de clúster cuando trabaje con EMR Studio.

  • Configure el modo de despliegue de las sesiones de Spark en el modo de clúster. El modo de clúster coloca los procesos maestros de la aplicación en los nodos básicos y no en el nodo principal de un clúster. De este modo, se alivian las posibles presiones de memoria del nodo principal. Para obtener más información, consulte Cluster Mode Overview en la documentación de Apache Spark.

  • Cambie el tiempo de espera de Livy del valor predeterminado de una hora a seis horas, como en el siguiente ejemplo de configuración.

    { "classification":"livy-conf", "Properties":{ "livy.server.session.timeout":"6h", "livy.spark.deploy-mode":"cluster" } }
  • Cree diversas flotas de instancias con hasta 30 instancias y seleccione varios tipos de instancias en su flota de instancias de spot. Por ejemplo, puede especificar los siguientes tipos de instancias optimizadas para memoria para las cargas de trabajo de Spark: r5.2x, r5.4x, r5.8x, r5.12x, r5.16x, r4.2x, r4.4x, r4.8x, r4.12, etc. Para obtener más información, consulte Configurar flotas de instancias.

  • Utilice la estrategia de asignación de capacidad optimizada para las instancias de spot para ayudar a Amazon EMR a seleccionar instancias de forma eficaz en función de la información sobre la capacidad en tiempo real de Amazon EC2. Para obtener más información, consulte Estrategia de asignación para flotas de instancias.

  • Habilite el escalamiento administrado en su clúster. Establezca el parámetro de número máximo de nodos principales en la capacidad persistente mínima que planea utilizar y configure el escalamiento en función de una flota de tareas bien diversificada que se ejecute en instancias de spot para ahorrar costos. Para obtener más información, consulte Uso del escalado administrado en Amazon EMR.

También le instamos a que mantenga activado el Bloqueo de acceso público de Amazon EMR y que restrinja el tráfico SSH entrante a orígenes de confianza. El acceso entrante a un clúster permite a los usuarios ejecutar cuadernos en el clúster. Para obtener más información, consulte Uso de Bloquear el acceso público de Amazon EMR y Control del tráfico de red con grupos de seguridad.

Clústeres de Amazon EMR en EKS

Además de los clústeres de EMR que se ejecutan en Amazon EC2, puede configurar y administrar clústeres de Amazon EMR en EKS para EMR Studio mediante la AWS CLI. Configure los clústeres de Amazon EMR en EKS siguiendo las pautas que se indican a continuación:

  • Cree un punto de conexión HTTPS administrado para el clúster de Amazon EMR en EKS. Los usuarios asocian un espacio de trabajo a un punto de conexión administrado. El clúster de Amazon Elastic Kubernetes Service (EKS) que utilice para registrar un clúster virtual debe tener una subred privada para admitir los puntos de conexión administrados.

  • Utilice un clúster de Amazon EKS con al menos una subred privada y una traducción de direcciones de red (NAT) cuando desee utilizar repositorios de Git alojados públicamente.

  • Evite utilizar las AMI de Amazon Linux de Arm optimizadas para Amazon EKS, que no son compatibles con los puntos de conexión administrados de Amazon EMR en EKS.

  • Evite utilizar AWS Fargate clústeres exclusivos de Amazon EKS, ya que no son compatibles.