Ejecución de un trabajo de HiveSQL
Puede enviar programas desarrollados por usted mismo a MRS para ejecutarlos y obtener los resultados. Esta sección describe cómo enviar un trabajo de HiveSQL en la consola de gestión de MRS. Los trabajos de HiveSQL se utilizan para enviar sentencias SQL y archivos de script para consultas y análisis de datos. Se admiten tanto las sentencias SQL como los scripts. Si las sentencias SQL contienen información confidencial, utilice Script para enviarlas.
Prerrequisitos
Ha cargado los paquetes de programas y archivos de datos necesarios para ejecutar trabajos en OBS o HDFS.
Enviar un trabajo en la GUI
- Inicie sesión en la consola de MRS.
- Elija y seleccione un clúster en ejecución y haga clic en su nombre para cambiar a la página de detalles del clúster.
- Si la autenticación de Kerberos está habilitada para el clúster, realice los siguientes pasos. Si la autenticación de Kerberos no está habilitada para el clúster, omita este paso.
En el área Basic Information de la página Dashboard, haga clic en Synchronize en el lado derecho de IAM User Sync para sincronizar usuarios de IAM. Para más detalles, consulte Sincronización de usuarios de IAM a MRS.
- Cuando la política del grupo de usuarios al que pertenece el usuario de IAM cambia de MRS ReadOnlyAccess a MRS CommonOperations, MRS FullAccess o MRS Administrator, esperar 5 minutos hasta que la nueva política entre en vigor una vez completada la sincronización, ya que la caché SSSD de los nodos del clúster necesita tiempo para actualizarse. Luego, envíe un trabajo. De lo contrario, es posible que el trabajo no se envíe.
- Cuando la política del grupo de usuarios al que pertenece el usuario de IAM cambia de MRS CommonOperations, MRS FullAccess o MRS Administrator a MRS ReadOnlyAccess, esperar 5 minutos hasta que la nueva política entre en vigor una vez completada la sincronización porque la caché SSSD de los nodos del clúster necesita tiempo para actualizarse.
- Haga clic en la pestaña .
- Haga clic en Create. Se muestra la página Create Job.
- Configurar la información del trabajo. Establecer Type en HiveSql y configurar la información del trabajo de HiveSQL haciendo referencia a Tabla 1.
Tabla 1 Información de configuración del trabajo Parámetro
Descripción
Name
Nombre del trabajo. Contiene de 1 a 64 caracteres. Solo se permiten letras, dígitos, guiones medios (-) y guiones bajos (_).
NOTA:Se recomienda establecer diferentes nombres para diferentes trabajos.
SQL Type
Tipo de envío de la sentencia SQL
- SQL
- Script
SQL Statement
Este parámetro solo es válido cuando SQL Type está establecido en SQL. Escriba la sentencia SQL que se va a ejecutar y, a continuación, haga clic en Check para comprobar si la sentencia SQL es correcta. Si desea enviar y ejecutar varias sentencias al mismo tiempo, use punto y coma (;) para separarlas.
SQL File
Este parámetro solo es válido cuando SQL Type está establecido en Script. La ruta del archivo SQL que se va a ejecutar debe cumplir con los siguientes requisitos:
- Contiene un máximo de 1,023 caracteres, sin incluir caracteres especiales como ;|&><'$. El valor del parámetro no puede estar vacío ni lleno de espacios.
- La ruta del programa a ejecutar se puede almacenar en HDFS u OBS. La ruta de acceso varía según el sistema de archivos.
- OBS: La ruta debe comenzar con obs://. Ejemplo: obs://wordcount/program/xxx.jar
- HDFS: La ruta debe comenzar con /user. Para obtener más información sobre cómo importar datos a HDFS, consulte Importación de datos.
- Para SparkScript y HiveScript, el camino debe terminar con .sql. En el caso de MapReduce, la ruta debe terminar con .jar. Para Flink y SparkSubmit la ruta debe terminar con .jar o .py. El .sql, .jar y el .py no distinguen entre mayúsculas y minúsculas.
NOTA:A file path on OBS can start with obs://. To submit jobs in this format, you need to configure permissions for accessing OBS.
- If the OBS permission control function is enabled during cluster creation, you can use the obs:// directory without extra configuration.
- If the OBS permission control function is not enabled or is not supported when you create a cluster, configure the function.
Program Parameter
(Opcional) Se utiliza para configurar parámetros de optimización como subprocesos, memoria y vCPU para el trabajo a fin de optimizar el uso de recursos y mejorar el rendimiento de la ejecución del trabajo.
Tabla 2 describe los parámetros comunes de un programa en ejecución.
Service Parameter
(Opcional) Se utiliza para modificar los parámetros de servicio para el trabajo. La modificación del parámetro sólo se aplica al trabajo actual. Para que la modificación surta efecto permanentemente para el clúster, siga las instrucciones en Configuración de parámetros de servicio.
Para agregar varios parámetros, haga clic en a la derecha. Para eliminar un parámetro, haga clic en Delete a la derecha.
Tabla 3 muestra los parámetros de configuración de servicio comunes.
Command Reference
Comando enviado en segundo plano para su ejecución cuando se envía un trabajo.
Tabla 2 Parámetros del programa Parámetro
Descripción
Valor de ejemplo
--hiveconf
La configuración del servicio Hive, por ejemplo, establece el motor de ejecución en MapReduce.
Configuración del motor de ejecución en MR: --hiveconf "hive.execution.engine=mr"
--hivevar
Variable personalizada, por ejemplo, ID de variable.
Configuración del ID de la variable: --hivevar id="123" select * from test where id = ${hivevar:id}
- Confirme la información de configuración del trabajo y haga clic en OK.
Después de crear el trabajo, puede gestionarlo.
Envío de un trabajo en segundo plano
- Inicie sesión en la consola de MRS.
- Seleccione Clusters > Active Clusters, seleccione un clúster en ejecución y haga clic en su nombre para cambiar a la página de detalles del clúster.
- En la página de pestaña Nodes, haga clic en el nombre de un nodo de Master para ir a la consola de gestión de ECS.
- Haga clic en Remote Login en la esquina superior derecha de la página.
- Introduzca el nombre de usuario y la contraseña del nodo de Master como se le solicite. El nombre de usuario es root y la contraseña es la que se establece durante la creación del clúster.
- Ejecute el siguiente comando para inicializar variables de entorno:
source /opt/BigData/client/bigdata_env
- Si utiliza el cliente para conectarse a una instancia múltiple de Hive específica en un escenario donde están instaladas varias instancias de Hive, ejecute el siguiente comando para cargar las variables de entorno de la instancia. De lo contrario, omita este paso. Por ejemplo, cargue las variables de entorno de la instancia Hive2.
- Si la autenticación de Kerberos está habilitada para el clúster actual, ejecute el siguiente comando para autenticar al usuario. Si la autenticación de Kerberos está deshabilitada para el clúster actual (modo normal), omita este paso.
kinit MRS cluster user (El usuario debe estar en el grupo de usuario hive.)
- Ejecute el comando beeline para conectarse a HiveServer y ejecutar tareas.
beeline
Para los clústeres en modo normal, ejecute los siguientes comandos. Si no se especifica ningún usuario del servicio de componente, se utiliza el usuario actual del sistema operativo para iniciar sesión en HiveServer.
beeline -n Component service user
beeline -f SQL files (SQLs in the execution files)