Ejecutar cargas de trabajo interactivas con EMR sin servidor a través de EMR Studio
Con las aplicaciones interactivas EMR sin servidor, puede ejecutar cargas de trabajo interactivas para Spark con EMR sin servidor mediante cuadernos alojados en EMR Studio.
Información general
Una aplicación interactiva es una aplicación EMR sin servidor que tiene capacidades interactivas habilitadas. Con las aplicaciones interactivas Amazon EMR sin servidor, puede ejecutar cargas de trabajo interactivas con los cuadernos de Jupyter que se administran en Amazon EMR Studio. Esto ayuda a los ingenieros de datos, científicos de datos y analistas de datos a utilizar EMR Studio para ejecutar análisis interactivos con conjuntos de datos en almacenes de datos como Amazon S3 y Amazon DynamoDB.
Los casos de uso de aplicaciones interactivas en EMR sin servidor incluyen los siguientes:
-
Los ingenieros de datos utilizan la experiencia de IDE en EMR Studio para crear un script de ETL. El script incorpora datos de las instalaciones, los transforma para su análisis y los almacena en Amazon S3.
-
Los científicos de datos usan cuadernos para explorar los conjuntos de datos y entrenan modelos de machine learning (ML) para detectar anomalías en los conjuntos de datos.
-
Los analistas de datos exploran los conjuntos de datos y crean scripts que generan informes diarios para actualizar aplicaciones, como los cuadros de mando empresariales.
Requisitos previos
Para utilizar cargas de trabajo interactivas con EMR sin servidor, debe cumplir los siguientes requisitos:
-
Las aplicaciones interactivas de EMR sin servidor son compatibles con la versión 6.14.0 y posteriores de Amazon EMR.
-
Para acceder a su aplicación interactiva, ejecute las cargas de trabajo que envíe y ejecute cuadernos interactivos desde EMR Studio, necesita permisos y roles específicos. Para obtener más información, consulte Permisos necesarios para las cargas de trabajo interactivas.
Permisos necesarios para las cargas de trabajo interactivas
Además de los permisos básicos necesarios para acceder a EMR sin servidor, debe configurar permisos adicionales para su identidad o rol de IAM:
- Para acceder a su aplicación interactiva
-
Configure los permisos de usuario y de espacio de trabajo para EMR Studio. Para obtener más información, consulte Configurar permisos de usuario de EMR Studio en la Guía de administración de Amazon EMR.
- Para ejecutar las cargas de trabajo que envíe con EMR sin servidor
-
Configure un rol de tiempo de ejecución Para obtener más información, consulte Crear un rol de tiempo de ejecución del trabajo.
- Para ejecutar los cuadernos interactivos desde EMR Studio
-
Agregue los siguientes permisos adicionales a la política de IAM para los usuarios de Studio:
-
emr-serverless:AccessInteractiveEndpoints
- Otorga permiso para acceder y conectarse a la aplicación interactiva que usted especifique comoResource
. Este permiso es necesario para conectarse a una aplicación de EMR sin servidor desde un espacio de trabajo de EMR Studio. -
iam:PassRole
- Otorga permiso para acceder al rol de ejecución de IAM que usted tiene previsto utilizar al adjuntarlo a una aplicación. El permisoPassRole
apropiado es necesario para conectarse a una aplicación de EMR sin servidor desde un espacio de trabajo de 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" } } } ] } -
Configuración de aplicaciones interactivas
Siga los siguientes pasos de alto nivel para crear una aplicación EMR sin servidor con capacidades interactivas de Amazon EMR Studio en la AWS Management Console.
-
Siga los pasos en la Introducción a Amazon EMR sin servidor para crear una aplicación.
-
A continuación, inicie un espacio de trabajo desde EMR Studio y asócielo a una aplicación EMR sin servidor como opción de computación. Para obtener más información, consulte la pestaña Carga de trabajo interactiva en el paso 2 de la documentación de Introducción a EMR sin servidor.
Al asociar una aplicación a un espacio de trabajo de Studio, el inicio de la aplicación se activa automáticamente si aún no se está ejecutando. También puede iniciar previamente la aplicación y tenerla lista antes de asociarla al espacio de trabajo.
Consideraciones sobre las aplicaciones interactivas
-
Las aplicaciones interactivas de EMR sin servidor son compatibles con la versión 6.14.0 y posteriores de Amazon EMR.
-
EMR Studio es el único cliente que está integrado con las aplicaciones interactivas EMR sin servidor. Las siguientes capacidades de EMR Studio no son compatibles con las aplicaciones interactivas EMR sin servidor: colaboración en el espacio de trabajo, SQL Explorer y ejecución programática de cuadernos.
-
Las aplicaciones interactivas solo son compatibles con el motor Spark.
-
Las aplicaciones interactivas son compatibles con los kernels de Python 3, PySpark y Spark Scala.
-
Puede ejecutar hasta 25 cuadernos simultáneos en una sola aplicación interactiva.
-
No hay un punto de conexión ni una interfaz de API que admita los cuadernos Jupyter autoalojados con aplicaciones interactivas.
-
Para una experiencia de inicio optimizada, le recomendamos que configure la capacidad preinicializada para los controladores y ejecutores y que inicie previamente la aplicación. Al iniciar previamente la aplicación, asegúrese de que esté lista cuando quiera asociarla a su espacio de trabajo.
aws emr-serverless start-application \ --application-id
your-application-id
-
De forma predeterminada,
autoStopConfig
está habilitada para las aplicaciones. Esto cierra la aplicación después de 30 minutos de inactividad. Puede cambiar esta configuración como parte de su solicitud decreate-application
o deupdate-application
. -
Cuando utilice una aplicación interactiva, le recomendamos que configure una capacidad preinicializada de kernels, controladores y ejecutores para ejecutar sus cuadernos. Cada sesión interactiva de Spark requiere un kernel y un controlador, por lo que EMR sin servidor mantiene un trabajador de kernel preinicializado para cada controlador preinicializado. De forma predeterminada, EMR sin servidor mantiene la capacidad preinicializada de un trabajador de kernel en toda la aplicación, incluso si no se especifica ninguna capacidad preinicializada para los controladores. Cada trabajador de kernel usa 4 vCPU y 16 GB de memoria. Para obtener información actual acerca de los precios, consulte la página Precios de Amazon EMR
. -
Debe tener una cuota de servicio de vCPU suficiente en su Cuenta de AWS para ejecutar cargas de trabajo interactivas. Si no ejecuta cargas de trabajo compatibles con Lake Formation, le recomendamos tener al menos 24 vCPU. Si es así, recomendamos contar al menos con 28 vCPU.
-
EMR sin servidor finaliza automáticamente los kernels de los cuadernos si han estado inactivos durante más de 60 minutos. EMR sin servidor calcula el tiempo de inactividad del kernel a partir de la última actividad completada durante la sesión del cuaderno. Actualmente, no puede modificar la configuración del tiempo de espera de inactividad del kernel.
-
Para habilitar Lake Formation con cargas de trabajo interactivas, establezca la configuración
spark.emr-serverless.lakeformation.enabled
entrue
bajo la clasificaciónspark-defaults
en el objetoruntime-configuration
al crear una aplicación EMR sin servidor. Para obtener más información sobre cómo habilitar Lake Formation en EMR sin servidor, consulte Habilitar Lake Formation en Amazon EMR.