Todos los productos
Search
Centro de documentos

DataWorks:Crear un nodo EMR Spark

Última actualización: Sep 25, 2026

Apache Spark es un motor de análisis de big data versátil, de alto rendimiento y fácil de usar. Este motor ejecuta análisis complejos en memoria y construye aplicaciones de análisis de datos a gran escala con baja latencia. DataWorks proporciona nodos EMR Spark para desarrollar tareas de Spark e implementar programaciones periódicas. En este tema se explica cómo crear un nodo EMR Spark y se demuestran sus funciones mediante un ejemplo detallado.

Requisitos previos

  • Si necesita personalizar el entorno de los componentes antes de desarrollar el nodo, cree una custom image basada en la imagen oficial dataworks_emr_base_task_pod y use the image in DataStudio.

    Por ejemplo, al crear una imagen personalizada puede reemplazar un paquete JAR de Spark o depender de libraries, files o JAR packages específicos.

  • El clúster de EMR debe estar registrado en DataWorks. Para obtener más información, consulte DataStudio (legacy version): Bind an EMR computing resource.

  • (Opcional) Si utiliza un usuario de RAM para desarrollar las tareas, debe agregarlo al espacio de trabajo correspondiente y asignarle el rol Development o Workspace Administrator. El rol Workspace Manager otorga permisos amplios, por lo que debe asignarse con precaución. Para obtener más información, consulte Add members to a workspace.

  • Se debe comprar y configurar un resource group, lo que incluye vincularlo al espacio de trabajo y definir sus ajustes de red. Para obtener más información, consulte Use a Serverless resource group.

  • Es necesario crear un flujo de negocio. DataStudio organiza las operaciones de desarrollo en flujos de negocio, por lo que no se puede crear un nodo sin uno. Para obtener más información, consulte Create a business flow.

  • Si sus tareas de desarrollo requieren un entorno específico, utilice la función de imágenes personalizadas de DataWorks para compilar una imagen que contenga los componentes necesarios para ejecutarlas. Para obtener más información, consulte Custom image.

Limitaciones

  • Este tipo de tarea solo se puede ejecutar en un serverless resource group (recomendado) o en un resource group exclusivo para programación. Si necesita usar una imagen durante el desarrollo de datos, debe utilizar un resource group serverless.

  • En los clústeres DataLake o personalizados, debe configurar EMR-HOOK en el clúster para gestionar los metadatos en DataWorks. Si no configura EMR-HOOK, no podrá consultar metadatos en tiempo real, generar registros de auditoría, mostrar linaje de datos ni ejecutar tareas de gobernanza relacionadas con EMR en DataWorks. Para obtener más información, consulte Configure EMR-HOOK for Spark SQL.

  • Los clústeres EMR Serverless Spark admiten la visualización del linaje de datos, mientras que los clústeres EMR on ACK Spark no.

  • Los clústeres EMR on ACK Spark y EMR Serverless Spark permiten hacer referencia a recursos de OSS mediante ossref y cargar recursos en OSS, pero no admiten la carga de recursos en HDFS.

  • Los clústeres DataLake y los clústeres personalizados permiten hacer referencia a recursos de OSS mediante ossref, cargar recursos en OSS y cargar recursos en HDFS.

Notes

Si habilitó el control de acceso de Ranger para Spark en el clúster de EMR asociado al espacio de trabajo actual:

  • Las tareas de Spark que usan la imagen predeterminada admiten esta función automáticamente.

  • Para ejecutar una tarea de Spark con una imagen personalizada, envíe un ticket al soporte técnico para solicitar la actualización de la imagen.

Preparación: desarrollar un archivo JAR de trabajo de Spark

Antes de programar un trabajo de EMR Spark con DataWorks, debe desarrollarlo en EMR, compilarlo y generar un paquete JAR. Para obtener más información sobre el desarrollo de trabajos de EMR Spark, consulte Spark overview.

Nota

Posteriormente, cargará el paquete JAR en DataWorks para programar el trabajo de EMR Spark de forma periódica.

I. Crear un nodo EMR Spark

  1. Inicie sesión en la consola de DataWorks. En la región de destino, haga clic en Data Development and O&M > Data Development en el panel de navegación izquierdo. Seleccione un espacio de trabajo en la lista desplegable y haga clic en Go to Data Development.

  2. Cree un nodo EMR Spark.

    1. Haga clic con el botón secundario en el flujo de negocio de destino y elija Create Node > EMR > EMR Spark.

      Nota

      También puede colocar el cursor sobre Create y elegir Create Node > EMR > EMR Spark.

    2. En el cuadro de diálogo Create Node, introduzca un Name y seleccione la Engine Instance, el Node Type y la Path. Haga clic en Confirm para ir al editor del nodo EMR Spark.

      Nota

      El nombre del nodo puede contener letras mayúsculas, letras minúsculas, caracteres chinos, dígitos, guiones bajos (_) y puntos (.).

2. Desarrollar un trabajo de Spark

Para abrir el editor de código, haga doble clic en el nodo EMR Spark. A continuación, elija un método según su escenario.

Método 1: cargar y hacer referencia a un recurso JAR de EMR

En DataWorks, puede cargar un recurso desde su computadora local en DataStudio y luego hacer referencia a él. Después de compilar un trabajo de EMR Spark en un paquete JAR, seleccione un método de almacenamiento según su tamaño.

Puede cargar y confirmar un paquete JAR como recurso de EMR en DataWorks. También puede almacenarlo en el sistema HDFS de un clúster de EMR. Los clústeres EMR on ACK Spark y EMR Serverless Spark no admiten la carga de recursos en HDFS.

Paquete JAR menor a 500 MB

  1. Cree un recurso JAR de EMR.

    Este método permite gestionar los recursos de forma visual en la consola de DataWorks. Una vez creado el recurso, confírmelo. Para obtener más información, consulte Create and use EMR resources.

    En el cuadro de diálogo Create Resource, establezca Engine Type en EMR y seleccione una Engine Instance. Establezca Resource Type en EMR JAR, especifique la Path y seleccione Upload as EMR Resource. Elija un tipo de Storage Path, que puede ser OSS One-click Authorization o HDFS. Establezca File Source en Local y haga clic en Upload para cargar el archivo. Especifique un Name para el recurso. El nombre de un recurso JAR debe terminar en .jar. Luego, haga clic en Create.

    Nota

    La primera vez que cree un recurso de EMR para almacenarlo en OSS, deberá autorizar el acceso siguiendo las indicaciones del sistema.

  2. Haga referencia al recurso JAR de EMR.

    1. Haga doble clic en el nodo EMR Spark para abrir su editor de código.

    2. En el árbol de navegación izquierdo, elija EMR > Resources. Busque su recurso JAR de EMR, haga clic con el botón secundario sobre él y seleccione Insert Resource Path.

    3. Al hacer referencia al recurso, el sistema agrega automáticamente un fragmento de código de referencia al editor del nodo. A continuación se muestra un ejemplo.

      ##@resource_reference{"spark-examples_2.12-1.0.0-SNAPSHOT-shaded.jar"}
      spark-examples_2.12-1.0.0-SNAPSHOT-shaded.jar

      La presencia de este fragmento indica que se hizo referencia al recurso. En el código anterior, spark-examples_2.12-1.0.0-SNAPSHOT-shaded.jar es el nombre del recurso JAR de EMR que se cargó.

    4. Modifique el código del nodo EMR Spark y agregue un comando spark-submit. A continuación se muestra un ejemplo.

      Nota

      El editor de código de los nodos EMR Spark no admite comentarios. Modifique el código del trabajo basándose en el siguiente ejemplo. No agregue comentarios; de lo contrario, se producirá un error cuando se ejecute el nodo.

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

      A continuación se describen los parámetros.

      • org.apache.spark.examples.SparkPi: la clase principal del trabajo en el paquete JAR compilado.

      • spark-examples_2.11-2.4.0.jar: el nombre del recurso JAR de EMR que cargó.

      • Puede dejar los demás parámetros tal como aparecen en el ejemplo anterior. También puede ejecutar el siguiente comando para consultar la ayuda de spark submit y modificar el comando spark submit según sea necesario.

        Nota
        • Si desea usar parámetros simplificados del comando spark-submit en un nodo de Spark, debe agregarlos al código. Ejemplo: --executor-memory 2G.

        • Los nodos de Spark solo admiten el envío de trabajos en modo de clúster YARN.

        • Para los trabajos enviados mediante el comando spark-submit, establezca el parámetro de modo de despliegue en cluster, no en client.

        spark-submit --help
        spark-submit --help
        Process Output>>>
        Process Output>>> Options:
        Process Output>>>       --master MASTER_URL         spark://host:port, mesos://host:port, yarn,
        Process Output>>>                                   k8s://https://host:port, or local (Default: local[*]).
        Process Output>>>       --deploy-mode DEPLOY_MODE   Whether to launch the driver program locally ("client") or
        Process Output>>>                                   on one of the worker machines inside the cluster ("cluster")
        Process Output>>>                                   (Default: client).
        Process Output>>>       --class CLASS_NAME          Your application's main class (for Java / Scala apps).
        Process Output>>>       --name NAME                 A name of your application.
        Process Output>>>       --jars JARS                 Comma-separated list of jars to include on the driver
        Process Output>>>                                   and executor classpaths.
        Process Output>>>       --packages                  Comma-separated list of maven coordinates of jars to include
        Process Output>>>                                   on the driver and executor classpaths. Will search the local
        Process Output>>>                                   maven repo, then maven central and any additional remote
        Process Output>>>                                   repositories given by --repositories. The format for the
        Process Output>>>                                   coordinates should be groupId:artifactId:version.
        Process Output>>>       --exclude-packages          Comma-separated list of groupId:artifactId, to exclude while
        Process Output>>>                                   resolving the dependencies provided in --packages to avoid
        Process Output>>>                                   dependency conflicts.
        Process Output>>>       --repositories              Comma-separated list of additional remote repositories to
        Process Output>>>                                   search for the maven coordinates given with --packages.
        Process Output>>>       --py-files PY_FILES         Comma-separated list of .zip, .egg, or .py files to place
        Process Output>>>                                   on the PYTHONPATH for Python apps.
        Process Output>>>       --files FILES               Comma-separated list of files to be placed in the working
        Process Output>>>                                   directory of each executor. File paths of these files

Paquete JAR de 500 MB o mayor

  1. Cree un recurso JAR de EMR.

    Si un paquete JAR tiene un tamaño de 500 MB o mayor, no se puede cargar desde su computadora local como recurso de DataWorks. Almacene el paquete JAR en el sistema HDFS de su clúster de EMR y registre su ruta de almacenamiento. Luego podrá usar esa ruta para hacer referencia al paquete cuando programe el trabajo de Spark.

  2. Haga referencia al recurso JAR de EMR.

    Si el paquete JAR está almacenado en HDFS, haga referencia a él directamente especificando su ruta en el código del nodo EMR Spark.

    1. Haga doble clic en el nodo EMR Spark creado para abrir su editor de código.

    2. Escriba un comando spark-submit. A continuación se muestra un ejemplo.

      spark-submit --master yarn
      --deploy-mode cluster
      --name SparkPi
      --driver-memory 4G
      --driver-cores 1
      --num-executors 5
      --executor-memory 4G
      --executor-cores 1
      --class org.apache.spark.examples.JavaSparkPi
      hdfs:///tmp/jars/spark-examples_2.11-2.4.8.jar 100

      A continuación se describen los parámetros.

      • hdfs:///tmp/jars/spark-examples_2.11-2.4.8.jar: la ruta del paquete JAR en HDFS.

      • org.apache.spark.examples.JavaSparkPi: la clase principal del trabajo en el paquete JAR compilado.

      • Los demás parámetros corresponden al clúster de EMR y deben modificarse según sus necesidades de negocio. También puede ejecutar el siguiente comando para consultar la información de ayuda del comando spark-submit y modificarlo según sea necesario.

        Importante
        • Si desea usar parámetros simplificados del comando Spark-submit en un nodo de Spark, debe agregarlos al código. Ejemplo: --executor-memory 2G.

        • Los nodos de Spark solo admiten el envío de trabajos en modo de clúster YARN.

        • Para los trabajos enviados mediante el comando spark-submit, establezca el parámetro de modo de despliegue en cluster, no en client.

        spark-submit --help

Método 2: hacer referencia directa a un recurso de OSS

Puede hacer referencia directa a un recurso de OSS desde un nodo mediante el método OSS REF. Cuando se ejecuta un nodo de EMR, DataWorks descarga automáticamente los recursos de OSS especificados a un directorio local. Este método es adecuado para escenarios donde un trabajo de EMR requiere dependencias JAR o scripts.

  1. Desarrolle un recurso JAR.

    1. Prepare las dependencias de código.

      Las dependencias de código necesarias se encuentran en la ruta /usr/lib/emr/spark-current/jars/ del nodo maestro del clúster. El siguiente ejemplo utiliza Spark 3.4.2. Debe agregar las dependencias pom y hacer referencia a los plugins relacionados en su proyecto de IDEA.

      Dependencias pom

      <dependencies>
              <dependency>
                  <groupId>org.apache.spark</groupId>
                  <artifactId>spark-core_2.12</artifactId>
                  <version>3.4.2</version>
              </dependency>
              <!-- Apache Spark SQL -->
              <dependency>
                  <groupId>org.apache.spark</groupId>
                  <artifactId>spark-sql_2.12</artifactId>
                  <version>3.4.2</version>
              </dependency>
      </dependencies>

      Plugins relacionados

      <build>
              <sourceDirectory>src/main/scala</sourceDirectory>
              <testSourceDirectory>src/test/scala</testSourceDirectory>
              <plugins>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-compiler-plugin</artifactId>
                      <version>3.7.0</version>
                      <configuration>
                          <source>1.8</source>
                          <target>1.8</target>
                      </configuration>
                  </plugin>
                  <plugin>
                      <artifactId>maven-assembly-plugin</artifactId>
                      <configuration>
                          <descriptorRefs>
                              <descriptorRef>jar-with-dependencies</descriptorRef>
                          </descriptorRefs>
                      </configuration>
                      <executions>
                          <execution>
                              <id>make-assembly</id>
                              <phase>package</phase>
                              <goals>
                                  <goal>single</goal>
                              </goals>
                          </execution>
                      </executions>
                  </plugin>
                  <plugin>
                      <groupId>net.alchim31.maven</groupId>
                      <artifactId>scala-maven-plugin</artifactId>
                      <version>3.2.2</version>
                      <configuration>
                          <recompileMode>incremental</recompileMode>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>compile</goal>
                                  <goal>testCompile</goal>
                              </goals>
                              <configuration>
                                  <args>
                                      <arg>-dependencyfile</arg>
                                      <arg>${project.build.directory}/.scala_dependencies</arg>
                                  </args>
                              </configuration>
                          </execution>
                      </executions>
                  </plugin>
              </plugins>
          </build>
    2. Escriba el código de ejemplo.

      package com.aliyun.emr.example.spark
      import org.apache.spark.sql.SparkSession
      object SparkMaxComputeDemo {
        def main(args: Array[String]): Unit = {
          // Creates a SparkSession.
          val spark = SparkSession.builder()
            .appName("HelloDataWorks")
            .getOrCreate()
          // Prints the Spark version.
          println(s"Spark version: ${spark.version}")
        }
      }
    3. Empaquete el código en un archivo JAR.

      Después de editar y guardar el código Scala, empaquételo en un archivo JAR. En este ejemplo, el paquete JAR generado se llama SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar.

  2. Cargue el recurso JAR.

    1. Una vez desarrollado el código, 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 File Management.

      En este ejemplo se utiliza el bucket onaliyun-bucket-2.

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

      Establezca Directory Name en emr/jars para crear el directorio donde se almacenará el recurso JAR.

    4. Cargue el recurso JAR en el directorio.

      Vaya al directorio, haga clic en Upload File y luego haga clic en Scan en la sección Files to Upload. Agregue el archivo SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar al bucket y haga clic en Upload File.

  3. Haga referencia al recurso JAR.

    1. Edite el código para hacer referencia al recurso JAR.

      En la página de edición del nodo EMR Spark creado, modifique el código para hacer referencia al recurso JAR.

      spark-submit --class com.aliyun.emr.example.spark.SparkMaxComputeDemo --master yarn ossref://onaliyun-bucket-2/emr/jars/SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar

      A continuación se describen los parámetros.

      Parámetro

      Descripción

      class

      El nombre de la clase principal que desea ejecutar.

      master

      El modo de ejecución de la aplicación de Spark.

      Ruta del archivo ossref

      La ruta debe tener el formato ossref://{endpoint}/{bucket}/{object}.

      • Endpoint: el nombre de dominio que se usa para acceder a OSS. Si omite este parámetro, el bucket de OSS y su clúster de EMR deben estar en la misma región.

      • Bucket: un contenedor para almacenar objetos en OSS. Cada bucket debe tener un nombre único. Puede iniciar sesión en la consola de OSS para consultar todos los buckets de su cuenta.

      • object: un objeto específico almacenado en un bucket, que puede ser un nombre de archivo o una ruta.

    2. Ejecute el trabajo del nodo EMR Spark.

      Después de editar el código, haga clic en el icono image y seleccione su resource group de programación para ejecutar el nodo EMR Spark. Cuando finalice el trabajo, registre el applicationId de la salida de la consola. Ejemplo: application_1730367929285_xxxx.

    3. Consulte el resultado.

      Cree un nodo EMR Shell y ejecute el comando yarn logs -applicationId application_1730367929285_xxxx para consultar el resultado.

      yarn logs -applicationId application_xxx
      Process Output>>> LogLastModifiedTime:Fri Nov 01 16:27:46 +0800 2024
      Process Output>>> LogLength:21
      Process Output>>> LogContents:
      Process Output>>> Spark version: 3.4.2
      Process Output>>>

(Opcional) Parámetros avanzados

Puede configurar parámetros específicos de Spark en la sección Advanced Settings de un nodo. Para obtener más información sobre las propiedades de Spark, consulte Spark Configuration. Los parámetros avanzados que puede configurar varían según el tipo de clúster de EMR, como se muestra en la siguiente tabla.

Clúster DataLake o personalizado: EMR on ECS

Parámetro

Descripción

queue

La cola de programación a la que se envían los trabajos. Valor predeterminado: default.

Si configura una YARN resource queue a nivel de espacio de trabajo al registrar un clúster de EMR en un espacio de trabajo de DataWorks, se aplican las siguientes reglas:

  • Si selecciona la casilla de verificación Global Settings Take Precedence y establece el valor en Yes, la configuración de la cola que especifique al registrar el clúster de EMR tendrá prioridad cuando se ejecute un trabajo de Spark.

  • Si desactiva la casilla de verificación, la configuración de la cola que especifique para el nodo EMR Spark tendrá prioridad cuando se ejecute un trabajo de Spark.

Para obtener más información sobre EMR YARN, consulte Basic queue configurations. Para conocer cómo configurar una cola al registrar un clúster de EMR, consulte Set the global YARN resource queue.

priority

La prioridad. Valor predeterminado: 1.

FLOW_SKIP_SQL_ANALYZE

El método que se utiliza para ejecutar instrucciones SQL. Valores válidos:

  • true: se ejecutan varias instrucciones SQL al mismo tiempo.

  • false (valor predeterminado): se ejecuta una sola instrucción SQL a la vez.

Nota

Este parámetro solo se puede usar para ejecuciones de prueba en Data Development.

Otros

  • Puede agregar directamente parámetros personalizados de Spark en las configuraciones avanzadas. Ejemplo: "spark.eventLog.enabled":false. DataWorks añade automáticamente los parámetros al código que se entrega al clúster de EMR. El formato es --conf key=value.

  • También puede configurar parámetros globales de Spark. Para obtener más información, consulte Configure global Spark parameters.

    Nota

    Para habilitar el control de acceso de Ranger, añada la configuración spark.hadoop.fs.oss.authorization.method=ranger en Configure global Spark parameters.

Clúster serverless de EMR Spark

Para obtener más información sobre cómo configurar los parámetros, consulte Configure parameters for a Spark job.

Parámetro

Descripción

queue

La cola de programación a la que se envían los trabajos. Valor predeterminado: dev_queue.

priority

La prioridad. Valor predeterminado: 1.

FLOW_SKIP_SQL_ANALYZE

El método que se utiliza para ejecutar instrucciones SQL. Valores válidos:

  • true: se ejecutan varias instrucciones SQL al mismo tiempo.

  • false: se ejecuta una sola instrucción SQL a la vez.

Nota

Este parámetro solo se puede usar para ejecuciones de prueba en Data Development.

SERVERLESS_RELEASE_VERSION

La versión del motor de Spark. De forma predeterminada, se utiliza la Default Engine Version configurada para el clúster en la sección Cluster Management de la página Management Center. Puede configurar este parámetro para especificar distintas versiones del motor para diferentes trabajos.

SERVERLESS_QUEUE_NAME

La cola de recursos que desea especificar. De forma predeterminada, se utiliza la Default Resource Queue configurada para el clúster en la sección Cluster Management de la página Management Center. Si necesita aislar y gestionar recursos, puede añadir colas. Para obtener más información, consulte Manage resource queues.

Otros

  • Puede agregar directamente parámetros personalizados de Spark en las configuraciones avanzadas. Ejemplo: "spark.eventLog.enabled":false. DataWorks añade automáticamente los parámetros al código que se entrega al clúster de EMR. El formato es --conf key=value.

  • También puede configurar parámetros globales de Spark. Para obtener más información, consulte Configure global Spark parameters.

Clúster de Spark: EMR on ACK

Parámetro

Descripción

queue

Este parámetro no es compatible.

priority

Este parámetro no es compatible.

FLOW_SKIP_SQL_ANALYZE

El método que se utiliza para ejecutar instrucciones SQL. Valores válidos:

  • true: se ejecutan varias instrucciones SQL al mismo tiempo.

  • false: se ejecuta una sola instrucción SQL a la vez.

Nota

Este parámetro solo se puede usar para ejecuciones de prueba en Data Development.

Otros

  • Puede agregar directamente parámetros personalizados de Spark en las configuraciones avanzadas. Ejemplo: "spark.eventLog.enabled":false. DataWorks añade automáticamente los parámetros al código que se entrega al clúster de EMR. El formato es --conf key=value.

  • También puede configurar parámetros globales de Spark. Para obtener más información, consulte Configure global Spark parameters.

Clúster de Hadoop: EMR on ECS

Parámetro

Descripción

queue

La cola de programación a la que se envían los trabajos. Valor predeterminado: default.

Si configura una YARN resource queue a nivel de espacio de trabajo al registrar un clúster de EMR en un espacio de trabajo de DataWorks, se aplican las siguientes reglas:

  • Si selecciona la casilla de verificación Global Settings Take Precedence y establece el valor en Yes, la configuración de la cola que especifique al registrar el clúster de EMR tendrá prioridad cuando se ejecute un trabajo de Spark.

  • Si desactiva la casilla de verificación, la configuración de la cola que especifique para el nodo EMR Spark tendrá prioridad cuando se ejecute un trabajo de Spark.

Para obtener más información sobre EMR YARN, consulte Basic queue configurations. Para conocer cómo configurar una cola al registrar un clúster de EMR, consulte Set the global YARN resource queue.

priority

La prioridad. Valor predeterminado: 1.

FLOW_SKIP_SQL_ANALYZE

El método que se utiliza para ejecutar instrucciones SQL. Valores válidos:

  • true: se ejecutan varias instrucciones SQL al mismo tiempo.

  • false: se ejecuta una sola instrucción SQL a la vez.

Nota

Este parámetro solo se puede usar para ejecuciones de prueba en Data Development.

USE_GATEWAY

Indica si los trabajos se envían desde el nodo actual mediante un clúster Gateway. Valores válidos:

  • true: los trabajos se envían mediante un clúster Gateway.

  • false: los trabajos no se envían mediante un clúster Gateway. De forma predeterminada, los trabajos se envían a un nodo principal.

Nota

Si el clúster donde reside el nodo actual no está asociado con un clúster Gateway y usted establece este parámetro en true, no se podrán enviar los trabajos de EMR.

Otros

  • Puede agregar directamente parámetros personalizados de Spark en las configuraciones avanzadas. Ejemplo: "spark.eventLog.enabled":false. DataWorks añade automáticamente los parámetros al código que se entrega al clúster de EMR. El formato es --conf key=value.

  • También puede configurar parámetros globales de Spark. Para obtener más información, consulte Configure global Spark parameters.

    Nota

    Para habilitar el control de acceso de Ranger, añada la configuración spark.hadoop.fs.oss.authorization.method=ranger en Configure global Spark parameters.

Trabajo SQL

  1. En la barra de herramientas, haga clic en el icono 高级运行. En el cuadro de diálogo Parameter, seleccione el resource group de programación creado y haga clic en Running.

    Nota
    • Para acceder a recursos de cómputo desplegados en una red pública o en una VPC, debe usar un resource group de programación que pueda conectarse a dichos recursos. Para obtener más información, consulte Solutions for network connections.

    • Si necesita modificar el resource group que se usa para ejecutar un trabajo, haga clic en el icono Run with Parameters 高级运行 y seleccione el resource group que desee utilizar.

    • Cuando consulta datos mediante un nodo EMR Spark, el resultado se limita a un máximo de 10 000 registros y a un tamaño total de 10 MB.

  2. Haga clic en el icono 保存 para guardar sus instrucciones SQL.

  3. (Opcional) Ejecute pruebas de humo.

    Si desea ejecutar pruebas de humo en el entorno de desarrollo, puede hacerlo al confirmar un nodo de ejecución o después de confirmarlo. Para obtener más información, consulte Run a smoke test.

Paso 3: Configurar la programación del nodo

Si desea que el sistema ejecute periódicamente una tarea en el nodo, haga clic en Properties en el panel de navegación derecho de la pestaña de configuración del nodo. Así podrá configurar las propiedades de programación de la tarea según sus necesidades empresariales. Para obtener más información, consulte Overview.

Nota
  • Debe configurar las propiedades Rerun attribute y Parent Nodes del nodo antes de poder enviarlo.

  • Si necesita personalizar el entorno del componente, cree un custom image basado en la imagen oficial dataworks_emr_base_task_pod y use it in DataStudio.

    Por ejemplo, puede reemplazar paquetes JAR de Spark o incluir libraries, files o JAR packages específicos al crear una imagen personalizada.

Paso 4: Desplegar el nodo

Una vez configurada una tarea en un nodo, debe confirmarla y desplegarla. Después de esto, el sistema ejecutará la tarea de forma periódica según las configuraciones de programación.

  1. Haga clic en el icono 保存 de la barra de herramientas superior para guardar la tarea.

  2. Haga clic en el icono 提交 de la barra de herramientas superior para confirmar la tarea.

    En el cuadro de diálogo Submit, configure el parámetro Change description. Luego, determine si desea revisar el código de la tarea después de confirmarla, según sus necesidades empresariales.

    Nota
    • Debe configurar los parámetros Rerun y Parent Nodes en la pestaña Properties antes de confirmar la tarea.

    • La función de revisión de código le permite garantizar la calidad del código de las tareas y evitar errores de ejecución causados por código no válido. Si habilita esta función, el código confirmado solo se podrá desplegar después de aprobar la revisión. Para obtener más información, consulte Code review.

Si utiliza un espacio de trabajo en modo estándar, debe desplegar la tarea en el entorno de producción después de confirmarla. Para desplegar una tarea en un nodo, haga clic en Deploy en la esquina superior derecha de la pestaña de configuración del nodo. Para obtener más información, consulte Deploy a node.

Más operaciones

Después de confirmar y desplegar la tarea, esta se ejecutará de forma periódica según las configuraciones de programación. Haga clic en Operation Center en la esquina superior derecha de la pestaña de configuración del nodo correspondiente para ir a Operation Center y consultar el estado de programación de la tarea. Para obtener más información, consulte Manage scheduled tasks.

Preguntas frecuentes

Documentos relacionados