Introducción a EMR sin servidor con la consola
En esta sección se describe cómo trabajar con EMR sin servidor, incluida la creación de un EMR Studio. También describe cómo enviar las ejecuciones de trabajos y cómo ver los registros.
Paso 1: cree una aplicación de EMR sin servidor
Cree una nueva aplicación con EMR sin servidor de la siguiente manera.
-
Inicie sesión en la AWS Management Console y abra la consola de Amazon EMR en https://console.aws.amazon.com/emr.
-
En el panel de navegación izquierdo, elija EMR sin servidor para ir a la página de inicio de EMR sin servidor.
-
Para crear o administrar aplicaciones EMR sin servidor, necesita la IU de EMR Studio.
-
Si ya tiene un EMR Studio en la Región de AWS donde desea crear una aplicación y, a continuación, seleccione Administrar aplicaciones para ir a su EMR Studio, o seleccione el estudio que desee utilizar.
-
Si no tiene un EMR Studio en la Región de AWS donde desea crear una aplicación, elija Cómo comenzar y, a continuación, elija Crear e iniciar Studio. EMR sin servidor crea un EMR Studio para que pueda crear y administrar aplicaciones.
-
En la IU de Crear Studio que se abre en una nueva pestaña, introduzca el nombre, el tipo y la versión de lanzamiento de la aplicación. Si solo desea ejecutar trabajos por lotes, seleccione Usar la configuración predeterminada solo para trabajos por lotes. Para las cargas de trabajo interactivas, seleccione Usar la configuración predeterminada para las cargas de trabajo interactivas. También puede ejecutar trabajos por lotes en aplicaciones con capacidad interactiva con esta opción. Si lo necesita, puede cambiar la configuración más tarde.
Para obtener más información, consulte Crear un estudio.
-
Seleccione Crear aplicación para crear su primera aplicación.
Continúe con la siguiente sección Paso 2: envíe una ejecución de trabajo o una carga de trabajo interactiva para enviar una ejecución de trabajo o una carga de trabajo interactiva.
Paso 2: envíe una ejecución de trabajo o una carga de trabajo interactiva
- Spark job run
-
En este tutorial, utilizamos un script de PySpark para calcular el número de apariciones de palabras únicas en varios archivos de texto. Un bucket de S3 público y de solo lectura almacena tanto el script como el conjunto de datos.
Para ejecutar un trabajo de Spark
-
Cargue el script de ejemplo wordcount.py
en su nuevo bucket con el siguiente comando.
aws s3 cp s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py s3://amzn-s3-demo-bucket
/scripts/
-
Al completar Paso 1: cree una aplicación de EMR sin servidor, accederá a la página de los Detalles de la aplicación en EMR Studio. Allí, elija la opción Enviar trabajo.
-
En la página Enviar trabajo, complete lo siguiente.
-
En el campo Nombre, escriba el nombre con el que desee llamar a la ejecución de trabajo.
-
En el campo Rol de tiempo de ejecución, escriba el nombre del rol que ha creado en Crear un rol de tiempo de ejecución del trabajo.
-
En el campo Ubicación del script, escriba s3://amzn-s3-demo-bucket
/scripts/wordcount.py
como el URI de S3.
-
En el campo Argumentos del script, escriba ["s3://amzn-s3-demo-bucket
/emr-serverless-spark/output"]
.
-
En la sección Propiedades de Spark, seleccione Editar como texto e introduzca las siguientes configuraciones.
--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1
-
Para iniciar la ejecución de trabajo, elija Enviar trabajo .
-
En la pestaña Ejecuciones de trabajos, debería ver el nuevo trabajo ejecutándose con el estado En ejecución.
- Hive job run
-
En esta parte del tutorial, creamos una tabla, insertamos algunos registros y ejecutamos una consulta de agregación de recuentos. Para ejecutar el trabajo de Hive, primero cree un archivo que contenga todas las consultas de Hive para ejecutarlas como parte de un solo trabajo, cargue el archivo en S3 y especifique esta ruta de S3 al iniciar el trabajo de Hive.
Para ejecutar un trabajo de Hive
-
Cree un archivo llamado hive-query.ql
que contenga todas las consultas que desee ejecutar en su trabajo de Hive.
create database if not exists emrserverless;
use emrserverless;
create table if not exists test_table(id int);
drop table if exists Values__Tmp__Table__1;
insert into test_table values (1),(2),(2),(3),(3),(3);
select id, count(id) from test_table group by id order by id desc;
-
Cargue hive-query.ql
en el bucket de S3 con el comando siguiente.
aws s3 cp hive-query.ql s3://amzn-s3-demo-bucket
/emr-serverless-hive/query/hive-query.ql
-
Al completar Paso 1: cree una aplicación de EMR sin servidor, accederá a la página de los Detalles de la aplicación en EMR Studio. Allí, elija la opción Enviar trabajo.
-
En la página Enviar trabajo, complete lo siguiente.
-
En el campo Nombre, escriba el nombre con el que desee llamar a la ejecución de trabajo.
-
En el campo Rol de tiempo de ejecución, escriba el nombre del rol que ha creado en Crear un rol de tiempo de ejecución del trabajo.
-
En el campo Ubicación del script, escriba s3://amzn-s3-demo-bucket
/emr-serverless-hive/query/hive-query.ql
como el URI de S3.
-
En la sección Propiedades de Hive, elija Editar como texto e introduzca las siguientes configuraciones.
--hiveconf hive.log.explain.output=false
-
En la sección Configuración del trabajo, elija Editar como JSON e introduzca el siguiente JSON.
{
"applicationConfiguration":
[{
"classification": "hive-site",
"properties": {
"hive.exec.scratchdir": "s3://amzn-s3-demo-bucket
/emr-serverless-hive/hive/scratch",
"hive.metastore.warehouse.dir": "s3://amzn-s3-demo-bucket
/emr-serverless-hive/hive/warehouse",
"hive.driver.cores": "2",
"hive.driver.memory": "4g",
"hive.tez.container.size": "4096",
"hive.tez.cpu.vcores": "1"
}
}]
}
-
Para iniciar la ejecución de trabajo, elija Enviar trabajo.
-
En la pestaña Ejecuciones de trabajos, debería ver el nuevo trabajo ejecutándose con el estado En ejecución.
- Interactive workload
-
Con Amazon EMR 6.14.0 y versiones posteriores, puede usar cuadernos alojados en EMR Studio para ejecutar cargas de trabajo interactivas para Spark en EMR sin servidor. Para obtener más información, incluidos los permisos y requisitos previos, consulte Ejecutar cargas de trabajo interactivas con EMR sin servidor a través de EMR Studio.
Una vez que haya creado la aplicación y configurado los permisos necesarios, siga los siguientes pasos para ejecutar un cuaderno interactivo con EMR Studio:
-
Vaya a la pestaña Espacios de trabajo en EMR Studio. Si aún necesita configurar una ubicación de almacenamiento de Amazon S3 y un Rol de servicio de EMR Studio, seleccione el botón Configurar estudio en el banner de la parte superior de la pantalla.
-
Para acceder a un cuaderno, seleccione un espacio de trabajo o cree un nuevo espacio de trabajo. Use el Inicio rápido para abrir tu espacio de trabajo en una pestaña nueva.
-
Vaya a la pestaña recién abierta. Seleccione el icono Computar en el panel de navegación izquierdo. Seleccione EMR sin servidor como el Tipo de computación.
-
Seleccione la aplicación con capacidad interactiva que ha creado en la sección anterior.
-
En el campo Rol de ejecución, introduzca el nombre del rol de IAM que la aplicación EMR sin servidor puede asumir para la ejecución del trabajo. Para obtener más información sobre los roles de tiempo de ejecución, consulte Roles de tiempo de ejecución de trabajos en la Guía del usuario de Amazon EMR sin servidor.
-
Seleccione Adjuntar. Esto puede llevar un minuto en completarse. La página se actualizará cuando se adjunte.
-
Escoja un kernel e inicie un cuaderno. También puede buscar cuadernos de ejemplo en EMR sin servidor y copiarlos en su espacio de trabajo. Para acceder a los cuadernos de ejemplo, vaya hasta el {...}
menú de navegación de la izquierda y explore los cuadernos que tengan serverless
en el nombre del archivo del cuaderno.
-
En el cuaderno, puede acceder al enlace del registro de controladores y a un enlace a la IU de Apache Spark, una interfaz en tiempo real que proporciona métricas para monitorizar tu trabajo. Para obtener más información, consulte Monitorización de aplicaciones y trabajos de EMR sin servidor en la Guía del usuario de Amazon EMR sin servidor.
Al adjuntar 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 adjuntarla al espacio de trabajo.
Paso 3: visualice la IU y los registros de la aplicación
Para ver la IU de la aplicación, primero identifique la ejecución del trabajo. Hay disponible una opción para la IU de Spark o la IU de Hive Tez en la primera fila de opciones para la ejecución de ese trabajo, según el tipo de trabajo. Seleccione la opción apropiada.
Si ha elegido la IU de Spark, seleccione la pestaña Ejecutores para ver los registros de los controladores y ejecutores. Si ha elegido la IU de Hive Tez, seleccione la pestaña Todas las tareas para ver los registros.
Una vez que el estado de ejecución del trabajo se muestra como Correcta, podrá ver el resultado del trabajo en su bucket de S3.
Paso 4: Limpiar
Si bien la aplicación que creó debería detenerse automáticamente después de 15 minutos de inactividad, le recomendamos que libere los recursos que no tenga intención de volver a utilizar.
Para eliminar la aplicación, vaya a la página Enumerar aplicaciones. Seleccione la aplicación que ha creado y elija Acciones → Detener para detener la aplicación. Cuando la aplicación esté en el estado STOPPED
, seleccione la misma aplicación y elija Acciones → Eliminar.
Para ver más ejemplos de cómo ejecutar trabajos de Spark y Hive, consulte Uso de configuraciones de Spark al ejecutar trabajos de EMR sin servidor y Uso de configuraciones de Hive al ejecutar trabajos de EMR sin servidor.