Puede crear un nodo de E-MapReduce (EMR) Hive para utilizar instrucciones similares a SQL con el fin de leer, escribir y gestionar grandes conjuntos de datos almacenados en sistemas distribuidos. Esta función es ideal para analizar grandes volúmenes de registros y realizar tareas de desarrollo relacionadas.
Requisitos previos
Se ha creado un clúster de Alibaba Cloud EMR y se ha registrado en DataWorks. Para obtener más información, consulte Data Studio (legacy): Register an EMR cluster.
(Obligatorio si utiliza un usuario de RAM para desarrollar tareas) El usuario de RAM se ha agregado al espacio de trabajo de DataWorks como miembro y se le ha asignado el rol Develop o Workspace Administrator. El rol Workspace Administrator otorga más permisos de los necesarios, por lo que debe tener precaución al asignarlo. Para obtener más información sobre cómo agregar un miembro, consulte Add members to a workspace.
Se ha adquirido y configurado un resource group serverless. La configuración incluye la asociación con un espacio de trabajo y la configuración de red. Para obtener más información, consulte Create and use a serverless resource group.
-
Se ha creado un flujo de trabajo en DataStudio.
Las operaciones de desarrollo en los distintos tipos de motores de cómputo se realizan mediante flujos de trabajo en DataStudio. Por lo tanto, antes de crear un nodo, debe crear un flujo de trabajo. Para obtener más información, consulte Create a workflow.
Limitaciones
Los nodos de EMR Hive solo pueden ejecutarse en un serverless resource group (recomendado) o en un resource group exclusivo para programación.
Para gestionar metadatos de un clúster DataLake o un clúster personalizado en DataWorks, debe configurar EMR-HOOK en el clúster. Sin esta configuración, DataWorks no puede mostrar metadatos en tiempo real, generar registros de auditoría, mostrar linaje de datos ni ejecutar tareas de gobernanza relacionadas con EMR. Para consultar las instrucciones, consulte Configure the EMR-HOOK for Hive.
Paso 1: Crear un nodo de EMR Hive
-
Inicie sesión en la consola de DataWorks. En la región objetivo, haga clic en en el panel de navegación izquierdo. Seleccione un espacio de trabajo en la lista desplegable y haga clic en Go to Data Development.
-
Cree un nodo de EMR Hive.
-
Haga clic con el botón derecho en el flujo de trabajo objetivo y seleccione .
NotaTambién puede pasar el cursor sobre Create y seleccionar .
-
En el cuadro de diálogo Create Node, introduzca un Name y seleccione una Engine Instance, un Node Type y una Path. Haga clic en Confirm para abrir la página de edición del nodo.
NotaEl nombre del nodo puede contener letras mayúsculas, letras minúsculas, caracteres chinos, dígitos, guiones bajos (_) y puntos (.).
-
Paso 2: Desarrollar la tarea de EMR Hive
En la página de edición del nodo de EMR Hive, haga doble clic en el nodo que creó para abrir la página de desarrollo de tareas. A continuación, siga estos pasos.
Escribir código SQL
En el editor SQL, escriba el código de la tarea. Puede definir variables en el código mediante el formato ${variable_name} y asignarles valores en la sección Scheduling > Scheduling Parameter del panel derecho. Esto permite el paso dinámico de parámetros para ejecuciones programadas. Para obtener más información sobre los formatos compatibles, consulte Supported formats for scheduling parameters. El siguiente código muestra un ejemplo:
show tables;
select '${var}'; -- You can use this with scheduling parameters.
select * from userinfo;
El tamaño total de las instrucciones SQL no puede superar los 130 KB.
Si hay varios motores de cómputo de EMR asociados a su espacio de trabajo en DataStudio, debe seleccionar el motor de cómputo adecuado según sus requisitos empresariales. Si solo hay un motor de cómputo de EMR asociado, no es necesario realizar ninguna selección.
Para cambiar las asignaciones de parámetros en su código, haga clic en Advanced Run en la barra de herramientas. Para obtener más información sobre la lógica de asignación de parámetros, consulte Differences in parameter assignment logic among Run, Run with Parameters, and smoke testing.
(Opcional) Configurar parámetros avanzados
Puede configurar propiedades específicas del nodo en la sección Advanced Settings. Para obtener más información sobre la configuración disponible, consulte Configuración de Spark. Los parámetros avanzados disponibles varían según el tipo de clúster de EMR, como se muestra en las siguientes tablas.
Clústeres DataLake y personalizados
|
Parámetro |
Descripción |
|
queue |
La cola de programación para el envío de trabajos. La cola predeterminada es default. Para obtener más información sobre YARN en E-MapReduce, consulte Basic queue configurations. |
|
priority |
Especifica la prioridad del trabajo. El valor predeterminado es 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Controla cómo se ejecutan las instrucciones SQL. Valores válidos:
Nota
Este parámetro solo está disponible para ejecuciones de prueba de flujos de trabajo en el entorno de desarrollo. |
|
DATAWORKS_SESSION_DISABLE |
Aplica a ejecuciones de prueba directas en el entorno de desarrollo. Valores válidos:
Nota
Cuando este parámetro se establece en |
|
Otros |
También puede agregar parámetros de conexión de Hive personalizados en la configuración avanzada. |
Clúster de Hadoop
|
Parámetro |
Descripción |
|
queue |
La cola de programación para el envío de trabajos. La cola predeterminada es default. Para obtener más información sobre YARN en E-MapReduce, consulte Basic queue configurations. |
|
priority |
Especifica la prioridad del trabajo. El valor predeterminado es 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Controla cómo se ejecutan las instrucciones SQL. Valores válidos:
Nota
Este parámetro solo está disponible para ejecuciones de prueba de flujos de trabajo en el entorno de desarrollo. |
|
USE_GATEWAY |
Especifica si se deben enviar trabajos desde este nodo a través de un clúster de gateway. Valores válidos:
Nota
Si el clúster del nodo no está asociado con un clúster de gateway, establecer este parámetro en |
Ejecutar la tarea SQL
-
En la barra de herramientas, haga clic en el icono
. En el cuadro de diálogo Parameter, seleccione el resource group de programación que creó y haga clic en Running.NotaPara acceder a un motor de cómputo en la red pública o en una VPC, utilice un resource group de programación que pueda conectarse a dicho motor. Para obtener más información, consulte Network connection solutions.
Para cambiar a un resource group diferente en ejecuciones posteriores, haga clic en el icono Run with Parameters
y seleccione otro resource group de programación.Al consultar datos mediante un nodo de EMR Hive, los resultados están limitados a 10,000 registros y un tamaño total de 10 MB.
Haga clic en el icono
para guardar las instrucciones SQL.-
(Opcional) Realice pruebas de humo.
Si desea realizar pruebas de humo en el entorno de desarrollo, puede ejecutarlas antes o después de enviar el nodo. Para obtener más información, consulte Perform smoke testing.
Paso 3: Configurar propiedades de programación
Si desea que el sistema ejecute periódicamente una tarea en el nodo, puede hacer clic en Properties en el panel de navegación derecho de la pestaña de configuración del nodo para configurar las propiedades de programación de la tarea según sus requisitos empresariales. Para obtener más información, consulte Overview.
Debe configurar los parámetros Rerun y Parent Nodes en la pestaña Properties antes de confirmar la tarea.
Paso 4: Desplegar la tarea
Una vez configurada una tarea en un nodo, debe confirmarla y desplegarla. Después de confirmar y desplegar la tarea, el sistema la ejecuta de forma regular según las configuraciones de programación.
Haga clic en el icono
en la barra de herramientas superior para guardar la tarea.-
Haga clic en el icono
en 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 requisitos empresariales.
NotaDebe configurar los parámetros Rerun y Parent Nodes en la pestaña Properties antes de confirmar la tarea.
Puede utilizar la función de revisión de código para 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 de la tarea confirmada solo podrá desplegarse 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 ejecuta periódicamente según las configuraciones de programación. Puede hacer 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
P: ¿Por qué ocurre un error de tiempo de espera de conexión (ConnectException) al ejecutar un nodo?
EMR execute task failed!
SQL: {"name":"dw20251018","type":"HIVE_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers"],"tags":[],"description":"DataWorks"}}
TASK-MESSAGE:
FAILED: Build connection error! Could not open client transport with JDBC Uri: jdbc:hive2://xxx:10000: java.net.ConnectException: Connection timed out
R: Asegúrese de que el resource group y el clúster puedan conectarse entre sí a través de la red. Vaya a la lista de recursos de cómputo y haga clic en Resource Initialization. En el cuadro de diálogo que aparece, haga clic en Re-initialize. Compruebe que la inicialización se haya completado correctamente.