Escriba scripts de Python con lógica de negocio personalizada, cárguelos en EMR Serverless Spark y ejecute trabajos de PySpark. Se proporciona un ejemplo integral.
Requisitos previos
Cuenta con una cuenta de Alibaba Cloud. Para obtener más información, consulte Registro de cuenta.
Asegúrese de contar con los roles obligatorios. Para obtener más información, consulte Role authorization for an Alibaba Cloud account.
Ha creado un espacio de trabajo. Para obtener más información, consulte Create a workspace.
Procedimiento
Paso 1: Preparar los archivos de ejemplo
EMR Serverless Spark permite desarrollar archivos de Python en una plataforma local o independiente y enviarlos como trabajos. A continuación se proporcionan archivos de ejemplo para ayudarle a comenzar.
Haga clic en DataFrame.py y employee.csv para descargar los archivos de ejemplo.
DataFrame.py es un fragmento de código que utiliza el framework Apache Spark para procesar datos en OSS.
employee.csv es un archivo de datos que contiene nombres de empleados, departamentos y salarios.
Paso 2: Cargar los archivos de ejemplo
-
Cargue el archivo de Python en EMR Serverless Spark.
-
Vaya a la página de carga de recursos.
Inicie sesión en la consola de EMR.
En el panel de navegación izquierdo, elija EMR Serverless > Spark.
En la página Spark, haga clic en el nombre del espacio de trabajo deseado.
En la página de EMR Serverless Spark, haga clic en Artifacts en el panel de navegación izquierdo.
En la página Artifacts, haga clic en Upload File.
-
En el cuadro de diálogo Upload File, haga clic en el área de carga para seleccionar un archivo de Python o arrastre el archivo al área de carga.
En este ejemplo, cargue DataFrame.py.
-
Cargue el archivo de datos (employee.csv) en OSS. Para obtener más información, consulte Upload files.
Paso 3: Desarrollar y ejecutar el trabajo
En la página de EMR Serverless Spark, haga clic en Development en el panel de navegación izquierdo.
En la pestaña Development, haga clic en el icono
.En el cuadro de diálogo, introduzca un nombre, seleccione como tipo y haga clic en OK.
-
En la esquina superior derecha, seleccione una cola.
Para obtener más información sobre cómo agregar una cola, consulte Manage resource queues.
-
En la nueva pestaña de desarrollo, configure los siguientes parámetros, deje el resto con sus valores predeterminados y haga clic en Run.
Parámetro
Descripción
Main Python Resources
Seleccione el archivo de Python que cargó en la página Artifacts en el paso anterior. En este ejemplo, seleccione DataFrame.py.
Execution Parameters
Introduzca la ruta de OSS del archivo de datos employee.csv. Ejemplo: oss://<yourBucketName>/employee.csv.
Una vez ejecutado el trabajo, en la sección Execution Records que aparece abajo, haga clic en Log Exploration en la columna Actions del trabajo.
-
En la pestaña Log Exploration, puede consultar la información de los registros.
Esta pestaña incluye las subpestañas driver log, executor log y startup log. Cada subpestaña admite tres tipos de salida: Stdout, Stderr y Log4j. En este ejemplo, la salida Stdout del driver log muestra los resultados de la consulta DataFrame de Spark, incluidos los detalles salariales de los empleados (employee_name, department, salary) y los datos salariales agregados por departamento.
Paso 4: Publicar el trabajo
Un trabajo publicado puede utilizarse como tarea en un nodo de flujo de trabajo.
Una vez completado el trabajo, haga clic en Publish en el lado derecho de la página Development.
En el cuadro de diálogo de publicación del trabajo, introduzca la información de publicación y haga clic en OK.
Paso 5: Consultar la Spark UI
Después de que el trabajo se ejecute correctamente, puede consultar sus detalles de ejecución en la Spark UI.
En el panel de navegación izquierdo, haga clic en Job History.
En la página Application, haga clic en Spark UI en la columna Actions del trabajo deseado.
-
En la página Spark Jobs, puede consultar los detalles del trabajo.
La página muestra información básica de la aplicación (como User: root, Total Uptime y Scheduling Mode: FIFO) y la lista Completed Jobs. La tabla incluye columnas como Job Id, Description, Submitted, Duration, Stages: Succeeded/Total y Tasks. Para cada trabajo, puede consultar su descripción, duración y detalles de finalización de etapas y tareas.
Temas relacionados
Una vez publicado un trabajo, puede programarlo en un flujo de trabajo. Para obtener más información, consulte Manage workflows. Para ver un ejemplo completo del proceso de desarrollo de orquestación de trabajos, consulte Get started with Spark SQL development.
Para ver un ejemplo de desarrollo de un trabajo de streaming con PySpark, consulte Submit a PySpark streaming job using Serverless Spark.