Todos los productos
Search
Centro de documentos

DataWorks:Nodo de Serverless Spark SQL

Última actualización: Sep 25, 2026

Cree un nodo de Serverless Spark SQL para procesar datos estructurados con un motor de consultas SQL distribuido basado en un recurso de cómputo EMR Serverless Spark. Este enfoque mejora la eficiencia de ejecución de las tareas.

Notas de uso

  • Limitaciones del recurso 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 por la red.

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

  • (Opcional, para usuarios de RAM) Agregue el usuario de Resource Access Management (RAM) encargado del desarrollo de la tarea al espacio de trabajo y asígnele 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.

Crear un nodo

Para consultar las instrucciones, consulte Create a node.

Desarrollar el nodo

Desarrolle el código de su tarea en el editor SQL. La sintaxis admite catalog.database.tablename. Si omite catalog, se utiliza el Data Catalog predeterminado del clúster. Si omite catalog.database, se utiliza la base de datos predeterminada del Data Catalog predeterminado del clúster.

Para obtener más información sobre Data Catalog, consulte Manage a Data Catalog in EMR Serverless Spark .

-- Replace <catalog.database.tablename> with your actual identifiers. SELECT * FROM <catalog.database.tablename>

Defina variables en su código mediante el formato ${variable_name}. Después, asigne valores a estas variables en la sección Scheduling Parameters del panel Scheduling Settings. Esto permite pasar parámetros de forma dinámica en escenarios programados. Para obtener más información sobre los parámetros de programación, consulte Sources and expressions of scheduling parameters. A continuación se muestra un ejemplo de código.

SHOW TABLES; -- Use ${var} to define a variable named var. If you assign the value ${yyyymmdd} to this variable, you can use a scheduled task to create a table with the business date as a suffix. CREATE TABLE IF NOT EXISTS userinfo_new_${var} ( ip STRING COMMENT'IP address', uid STRING COMMENT'User ID' )PARTITIONED BY( dt STRING ); --This can be used with scheduling parameters.

Nota

Una instrucción SQL no puede superar los 130 KB.

Depurar el nodo

  1. En la sección Run Configuration, seleccione un Compute Resource y un Resource Group.

    Parámetro

    Descripción

    Compute Resource

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

    Resource Group

    Seleccione un resource group asociado al espacio de trabajo.

    Script Parameters

    Cuando configure el contenido del nodo, defina variables mediante el formato ${parameter_name}. Después, configure el Operation and Maintenance Center y el Session Management en la sección Running. Estas variables se reemplazan dinámicamente por los valores reales durante la ejecución. Para obtener más información, consulte Sources and expressions of scheduling parameters.

    ServerlessSpark Node Parameters

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

  2. En la barra de herramientas ubicada en la parte superior del editor de nodos, haga clic en Operation and Maintenance Center para ejecutar la tarea SQL.

    Importante

    Antes del despliegue, sincronice los Resource Management de Parameter name con los Parameter Value de Script Parameters.

Modos de ejecución de SQL

DataWorks ofrece dos modos de ejecución de SQL: dentro del nodo y desde el panel del flujo de trabajo. Ambos modos tienen contextos de ejecución distintos y pueden generar resultados diferentes.

  • Ejecutar dentro del nodo: seleccione todas las instrucciones SQL en el editor SQL y haga clic en Run. Solo se ejecutan las instrucciones seleccionadas. Este modo utiliza el recurso de cómputo y los parámetros configurados para el nodo, y no activa relaciones de dependencia con nodos anteriores ni posteriores.

  • Ejecutar desde el panel del flujo de trabajo: haga clic con el botón derecho en el nodo actual dentro del panel del flujo de trabajo y ejecute dicho nodo junto con sus nodos posteriores. El nodo actual y todos sus nodos posteriores se ejecutan de forma secuencial según las dependencias de programación. Este modo utiliza el recurso de cómputo y los parámetros especificados en la configuración de programación, los cuales pueden diferir del entorno de ejecución empleado al ejecutar el nodo de forma individual.

Las causas más comunes de diferencias entre ambos modos incluyen valores distintos en los parámetros de programación, configuraciones de recursos de cómputo inconsistentes y la salida de nodos anteriores que afecta el contexto de ejecución del nodo actual. Para solucionar problemas, compare los parámetros de programación y las configuraciones de recursos de cómputo que utiliza cada modo.

Pasos siguientes

  • Configure node scheduling: si necesita ejecutar un nodo de forma periódica, configure su Run en el panel Serverlessspark Node Parameters ubicado a la derecha.

  • Publish a node: para ejecutar una tarea en el entorno de producción, haga clic en el icono image para publicar el nodo. Un nodo solo se ejecuta de forma programada 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.

Apéndice: parámetros de DataWorks

Parámetro avanzado

Descripción

FLOW_SKIP_SQL_ANALYZE

El modo de ejecución de las instrucciones SQL. Valores válidos:

  • true: se ejecutan varias instrucciones SQL a la vez.

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

Nota

Este parámetro solo es compatible con ejecuciones de prueba en el entorno de desarrollo de datos.

DATAWORKS_SESSION_DISABLE

El método de envío de tareas. Durante el desarrollo de datos, las tareas se envían a SQL Compute para su ejecución de manera predeterminada. Puede usar este parámetro para especificar si la tarea se ejecuta mediante SQL Compute o si se envía a una cola para su ejecución.

  • true: la tarea se envía a una cola para su ejecución. De forma predeterminada, se utiliza la cola predeterminada especificada cuando se asoció el recurso de cómputo. Cuando DATAWORKS_SESSION_DISABLE se establece en true, puede configurar el parámetro SERVERLESS_QUEUE_NAME para especificar la cola a la que se envían las tareas durante el desarrollo de datos.

  • false (predeterminado): la tarea se envía a SQL Compute para su ejecución.

    Nota

    Este parámetro solo surte efecto durante la ejecución en el desarrollo de datos, no durante las ejecuciones programadas.

SERVERLESS_RELEASE_VERSION

La versión del motor de Spark. De forma predeterminada, se utiliza la Run Configuration configurada en los ajustes del clúster, dentro de Serverlessspark Node Parameters en Scheduling Settings. Para establecer una versión distinta del motor en una tarea específica, configure este parámetro.

Nota

El parámetro SERVERLESS_RELEASE_VERSION de las configuraciones avanzadas solo surte efecto cuando el SQL Compute (sesión) especificado para el clúster registrado se encuentra en estado detenido en la consola de EMR Serverless Spark.

SERVERLESS_QUEUE_NAME

La cola de recursos a la que se envían las tareas. Cuando una tarea se configura para enviarse a una cola y ejecutarse allí, se utiliza de forma predeterminada la Scheduling Policy configurada en los ajustes del clúster, dentro de Scheduling Settings en Default Engine Version. Si tiene requisitos de aislamiento y gestión de recursos, puede agregar colas. Para obtener más información, consulte Manage resource queues.

Métodos de configuración:

  • Especifique la cola de recursos para el envío de tareas mediante la configuración de los parámetros del nodo.

  • Especifique la cola de recursos para el envío de tareas mediante la configuración de global Spark parameters.

Nota
  • El parámetro SERVERLESS_QUEUE_NAME de las configuraciones avanzadas solo surte efecto cuando el SQL Compute (sesión) especificado para el clúster registrado se encuentra en estado detenido en la consola de EMR Serverless Spark.

  • Durante la ejecución en el desarrollo de datos: primero debe establecer DATAWORKS_SESSION_DISABLE en true para que las tareas se envíen a una cola y se ejecuten allí. Solo entonces el parámetro SERVERLESS_QUEUE_NAME surte efecto para especificar la cola de tareas.

  • Durante la ejecución programada en Operation Center: las tareas se envían obligatoriamente a una cola para su ejecución y no pueden enviarse a SQL Compute.

SERVERLESS_SQL_COMPUTE

El SQL Compute (sesión SQL) que se va a utilizar. De forma predeterminada, se usa el Compute Resource configurado en los ajustes del clúster, dentro de Management Center en Default Resource Queue. Para establecer una sesión SQL distinta en una tarea específica, configure este parámetro. Para obtener información sobre cómo crear y gestionar sesiones SQL, consulte Manage SQL Compute sessions.

Otros

Parámetros personalizados de configuración de Spark. Agregue parámetros de propiedad específicos de Spark.

Formato de configuración: "spark.eventLog.enabled": false. DataWorks anexa automáticamente los parámetros al código enviado al clúster EMR con el siguiente formato: --conf key=value.

Nota

DataWorks le permite configurar parámetros globales de Spark en el espacio de trabajo para cada módulo de DataWorks. Puede especificar si la prioridad de los parámetros globales de Spark es mayor que la de los parámetros de Spark configurados dentro de un módulo específico. Para obtener más información sobre cómo configurar parámetros globales de Spark, consulte Configure global Spark parameters.