Todos los productos
Search
Centro de documentos

DataWorks:Nodo Serverless Spark Batch

Última actualización: Sep 17, 2026

Desarrolle y programe periódicamente tareas de Spark en un clúster EMR Serverless Spark dentro de DataWorks. Spark admite cálculos complejos en memoria, por lo que resulta ideal para el análisis de datos a gran escala y con baja latencia.

Requisitos previos

  • Limitaciones de recursos de cómputo: solo se admiten bound EMR Serverless Spark compute resources. Asegúrese de que el resource group y el recurso de cómputo puedan comunicarse a través de la red.

  • Restricciones del resource group: solo Serverless resource groups pueden ejecutar este tipo de tarea.

  • (Opcional, para usuarios de RAM) El usuario de Resource Access Management (RAM) que desarrolle la tarea debe agregarse al espacio de trabajo y asignársele el rol Development o Workspace Administrator (este rol incluye permisos amplios y debe otorgarse con precaución). Para obtener más información, consulte Add workspace members.

    Si utiliza una cuenta raíz, omita este paso.

Creación de un nodo

Para consultar las instrucciones, vea Create a node.

Desarrollo del nodo

Nota

Antes de desarrollar una tarea Serverless Spark Batch, escriba el código de la tarea de Spark en E-MapReduce (EMR) y compílelo en un paquete JAR. Para obtener orientación sobre el desarrollo con Spark, consulte Spark tutorials.

Elija el enfoque que mejor se adapte a su caso de uso:

Opción 1: cargar y hacer referencia a un archivo JAR de EMR

Cargue el paquete JAR compilado en DataWorks como un recurso JAR de EMR. Este enfoque funciona para paquetes JAR menores a 500 MB.

  1. Cree un recurso JAR de EMR.

    1. En el panel de navegación izquierdo, haga clic en el ícono image para ir a la página Resource Management.

    2. En la página Resource Management, haga clic en el ícono image, seleccione New Resource y asigne al recurso el nombre spark-examples_2.11-2.4.0.jar.

    3. Haga clic en Click Upload y cargue el archivo spark-examples_2.11-2.4.0.jar.

    4. Seleccione una Storage Path, los Data Sources y el Resource Group.

      Importante

      Como origen de datos, debe seleccionar el clúster EMR Serverless Spark vinculado.

    5. Haga clic en Save.

  2. Haga referencia al recurso JAR de EMR.

    1. Abra el nodo Serverless Spark Batch que creó y permanezca en la página del editor de código.

    2. En el panel Resource Management, ubicado a la izquierda, busque el recurso que desea utilizar, haga clic derecho sobre él y seleccione Insert Resource Path.

    3. El recurso se referencia correctamente cuando se agrega automáticamente el siguiente código al editor del nodo Serverless Spark Batch:

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-examples_2.11-2.4.0.jar

      En el código anterior, spark-examples_2.11-2.4.0.jar es el nombre del recurso JAR de EMR que cargó.

    4. Modifique el código del nodo y agregue el comando spark-submit. En el siguiente ejemplo se muestra el código modificado.

      Importante
      • Siga el ejemplo de manera exacta. No agregue comentarios, ya que provocan que el nodo falle.

      • En EMR Serverless Spark no es necesario establecer el parámetro deploy-mode para el comando spark-submit. Solo se admite el modo cluster.

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-submit --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.0.jar 100

      Comando

      Descripción

      class

      La clase principal de la aplicación dentro del archivo JAR. En este ejemplo, el valor es org.apache.spark.examples.SparkPi.

      Nota

      Para obtener más información sobre los parámetros, consulte Submit a job using spark-submit.

Opción 2: hacer referencia a un recurso de OSS

Haga referencia a un recurso almacenado en Object Storage Service (OSS). DataWorks carga automáticamente el recurso de OSS especificado durante la ejecución. Utilice este enfoque cuando una tarea de EMR requiera dependencias JAR o dependa de scripts.

  1. Desarrolle el recurso JAR: en este tema se usa SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar como ejemplo.

  2. Cargue el recurso JAR.

    1. Inicie sesión en la consola de OSS. En el panel de navegación izquierdo, haga clic en buckets.

    2. Haga clic en el nombre del bucket de destino para ir a la página de administración de archivos.

    3. Haga clic en Create Directory para crear un directorio donde almacenar el recurso JAR.

    4. Vaya al directorio y cargue el archivo SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar en el bucket.

  3. Haga referencia al recurso JAR.

    1. En el editor de código del nodo Serverless Spark Batch que creó, escriba el código para hacer referencia al recurso JAR.

      Importante

      En el siguiente código, el nombre del bucket de OSS es mybucket y el directorio es emr. Reemplácelos con sus valores reales.

      spark-submit --class com.aliyun.emr.example.spark.SparkMaxComputeDemo oss://mybucket/emr/SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar

      Parámetros:

      Parámetro

      Descripción

      class

      El nombre completo de la clase principal que se va a ejecutar.

      Ruta del archivo de oss

      El formato es oss://{bucket}/{object}.

      • bucket: el contenedor de OSS que almacena objetos. Cada bucket tiene un nombre único. Puede iniciar sesión en la consola de OSS para consultar todos los buckets de su cuenta.

      • object: un archivo o ruta almacenada en un bucket.

      Nota

      Para obtener más información sobre los parámetros, consulte Submit a job using spark-submit.

Depuración del nodo

  1. En el panel Run Configuration, configure opciones como Compute resource y resource group.

    Parámetro

    Descripción

    Compute resource

    Seleccione un recurso de cómputo de EMR Serverless Spark vinculado. Si no hay ninguno disponible, elija Create Compute Resource en la lista desplegable.

    resource group

    Seleccione un resource group vinculado al espacio de trabajo.

    Script parameters

    Defina variables en el código del nodo mediante el formato ${Parameter name}. Después, establezca el Parameter name y el Parameter Value en la sección Script Parameters. Durante la ejecución, DataWorks reemplaza estas variables con los valores especificados. Para obtener más información, consulte Scheduling parameters.

    ServerlessSpark node parameters

    Parámetros de ejecución del programa de Spark. Se admiten los siguientes tipos:

    El formato de configuración es: "spark.eventLog.enabled": false. DataWorks agrega automáticamente esta opción al código enviado a Serverless Spark con el formato --conf key=value.

    Nota

    Puede establecer parámetros globales de Spark a nivel del espacio de trabajo e indicar si tienen prioridad sobre los parámetros configurados en un módulo específico. Para obtener más detalles, consulte Configure global Spark parameters.

  2. En la barra de herramientas ubicada en la parte superior del editor de nodos, haga clic en Run.

    Importante

    Antes de publicar, debe sincronizar los ServerlessSpark node parameters de Run Configuration con los ServerlessSpark node parameters de Scheduling Settings.

Siguientes pasos

  • Configure node scheduling: si necesita ejecutar un nodo de forma periódica, configure su Scheduling Policy en el panel Scheduling Settings ubicado a la derecha.

  • Publish a node: para ejecutar una tarea en el entorno de producción, haga clic en el ícono image y publique el nodo. Un nodo se ejecuta según lo programado únicamente después de publicarse en el entorno de producción.

  • Operación y mantenimiento de tareas: después de publicar una tarea, supervise sus ejecuciones periódicas en Operation Center. Para obtener más información, consulte Get started with Operation Center.

Documentación relacionada

Apéndice: parámetros de DataWorks

Parámetro

Descripción

SERVERLESS_QUEUE_NAME

La cola de recursos a la que se envía la tarea. De forma predeterminada, las tareas se envían a la Default Resource Queue configurada para el clúster, dentro de Clusters en el Management Center. Para aislar y gestionar los recursos, puede agregar colas. Para obtener más información, consulte Manage resource queues.

Métodos de configuración:

  • Especifique la cola de recursos de la tarea mediante los parámetros del nodo.

  • Especifique la cola de recursos de la tarea mediante global Spark parameters.