Adición y ejecución de un trabajo (obsoleto)
Función
Esta API se utiliza para agregar un trabajo a un clúster MRS y ejecutar el trabajo. Esta API es incompatible con Sahara.
URI
- Formato
- Descripción de parámetro
Tabla 1 Parámetros de URI Parámetro
Obligatorio
Descripción
project_id
Sí
El ID del proyecto. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto.
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
job_type |
Sí |
Integer |
Código de tipo de trabajo
|
job_name |
Sí |
String |
Nombre del trabajo Contiene solo de 1 a 64 letras, dígitos, guiones (-) y guiones bajos (_).
NOTA:
Se permiten nombres de trabajo idénticos pero no se recomiendan. |
cluster_id |
Sí |
String |
ID del clúster |
jar_path |
Sí |
String |
Ruta del archivo JAR o SQL para la ejecución del programa El parámetro debe cumplir los siguientes requisitos:
|
arguments |
No |
String |
Parámetro clave para la ejecución del programa. El parámetro es especificado por la función del programa del usuario. MRS solo es responsable de cargar el parámetro. El parámetro contiene un máximo de 2047 caracteres, sin incluir caracteres especiales como ;|&>'<$, y se puede dejar en blanco.
NOTA:
Al introducir un parámetro que contiene información confidencial (por ejemplo, contraseña de inicio de sesión), puede agregar un (@) de signo antes del nombre del parámetro para cifrar el valor del parámetro. Esto evita que la información sensible se mantenga en texto plano. Por lo tanto, cuando vea la información del trabajo en el MRS, la información confidencial se mostrará como asteriscos (*). Por ejemplo, username=admin @password=admin_123. |
input |
No |
String |
Ruta de entrada de datos, que debe comenzar con / o s3a://. Establezca este parámetro en una ruta de OBS correcta. La ruta de acceso OBS no admite archivos o programas cifrados por KMS. El parámetro contiene un máximo de 1,023 caracteres, sin incluir caracteres especiales como ;|&>'<$, y se puede dejar en blanco. |
output |
No |
String |
Ruta de salida de datos, que debe comenzar con / o s3a://. Se requiere una ruta de OBS correcta. Si la ruta no existe, el sistema la crea automáticamente. El parámetro contiene un máximo de 1,023 caracteres, sin incluir caracteres especiales como ;|&>'<$, y se puede dejar en blanco. |
job_log |
No |
String |
Ruta de acceso para almacenar registros de trabajos que registran el estado de ejecución del trabajo. La ruta debe comenzar con / o s3a://. Se requiere una ruta de OBS correcta. El parámetro contiene un máximo de 1,023 caracteres, sin incluir caracteres especiales como ;|&>'<$, y se puede dejar en blanco. |
hive_script_path |
Sí |
String |
Ruta del programa SQL Este parámetro es necesario únicamente para los trabajos de Spark Script y Hive Script, y debe cumplir los siguientes requisitos:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
job_name |
Sí |
String |
Nombre del trabajo Contiene solo de 1 a 64 letras, dígitos, guiones (-) y guiones bajos (_).
NOTA:
Se permiten nombres de trabajo idénticos pero no se recomiendan. |
input |
No |
String |
Ruta de origen de datos
|
output |
No |
String |
Ruta de recepción de datos
|
file_action |
Sí |
String |
Tipos de operaciones de archivo, que incluyen:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
hql |
Sí |
String |
Sentencia Spark SQL, que necesita codificación y decodificación de Base64. ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ es una tabla de codificación estándar. MRS utiliza ABCDEFGHILKJMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ para la codificación de Base64. El valor del parámetro hql se genera agregando cualquier letra al principio de la cadena de caracteres codificada. La sentencia Spark SQL se genera decodificando el valor en segundo plano. Ejemplo:
|
job_name |
Sí |
String |
Nombre del trabajo. Contiene de 1 a 64 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).
NOTA:
Se permiten nombres de trabajo idénticos pero no se recomiendan. |
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
job_execution |
Object |
Detalles del trabajo. Para obtener más información, consulte Tabla 6. |
Parámetro |
Tipo |
Descripción |
---|---|---|
templated |
Bool |
Si los objetos de ejecución de trabajos son generados por las plantillas de trabajo. |
created_at |
Integer |
Tiempo de creación, que es una marca de tiempo de 10 bits. |
updated_at |
Integer |
Tiempo de actualización, que es una marca de tiempo de 10 bits. |
id |
String |
ID de trabajo |
tenant_id |
String |
ID del proyecto. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto. |
job_id |
String |
ID de solicitud de empleo |
job_name |
String |
Nombre del trabajo |
input_id |
String |
ID de entrada de datos |
output_id |
String |
ID de salida de datos |
start_time |
Integer |
Hora de inicio de la ejecución del trabajo, que es una marca de tiempo de 10 bits. |
end_time |
Integer |
Hora de finalización de la ejecución del trabajo, que es una marca de tiempo de 10 bits. |
cluster_id |
String |
ID del clúster |
engine_job_id |
String |
ID de flujo de trabajo de Oozie |
return_code |
Integer |
Código devuelto para un resultado de ejecución |
is_public |
Bool |
Si un trabajo es público
La versión actual no admite esta función. |
is_protected |
Bool |
Si un trabajo está protegido
La versión actual no admite esta función. |
group_id |
String |
ID de grupo de un trabajo |
jar_path |
String |
Ruta de acceso del archivo .jar para la ejecución del programa |
input |
String |
Dirección para introducir datos |
output |
String |
Dirección para la salida de datos |
job_log |
String |
Dirección para almacenar registros de trabajos |
job_type |
Integer |
Código de tipo de trabajo
|
file_action |
String |
Importación y exportación de datos |
arguments |
String |
Parámetro clave para la ejecución del programa. El parámetro es especificado por la función del programa interno del usuario. MRS solo es responsable de cargar el parámetro. Este parámetro puede estar vacío. |
job_state |
Integer |
Código de estado del trabajo
|
job_final_status |
Integer |
Estado final del trabajo
|
hive_script_path |
String |
Dirección del script Hive |
create_by |
String |
ID de usuario para crear trabajos Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
finished_step |
Integer |
Número de pasos completados Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
job_main_id |
String |
ID principal de un trabajo Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
job_step_id |
String |
ID de paso de un trabajo Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
postpone_at |
Integer |
Tiempo de retardo, que es una marca de tiempo de 10 bits. Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
step_name |
String |
Nombre del paso de un trabajo Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
step_num |
Integer |
Número de pasos Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
task_num |
Integer |
Número de tareas Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
update_by |
String |
ID de usuario para actualizar trabajos |
credentials |
String |
Token La versión actual no admite esta función. |
user_id |
String |
ID de usuario para crear trabajos Este parámetro no se utiliza en la versión actual, pero se conserva por compatibilidad con versiones anteriores. |
job_configs |
String |
Conjunto de par clave-valor para guardar configuraciones de ejecución de trabajos |
extra |
String |
Información de autenticación La versión actual no admite esta función. |
data_source_urls |
String |
URL de origen de datos |
info |
String |
Conjunto de pares clave-valor, que contiene información de ejecución de trabajos devuelta por Oozie |
Ejemplo
- Solicitud de ejemplo
A continuación se muestra un ejemplo de una solicitud de trabajo de MapReduce:
{ "job_type": 1, "job_name": "mrs_test_jobone_20170602_141106", "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "jar_path": "s3a://mrs-opsadm/jarpath/hadoop-mapreduce-examples-2.7.2.jar", "arguments": "wordcount", "input": "s3a://mrs-opsadm/input/", "output": "s3a://mrs-opsadm/output/", "job_log": "s3a://mrs-opsadm/log/", "file_action": "", "hql": "", "hive_script_path": "" }
Ejemplo de solicitud de un trabajo de Spark
{ "job_type": 2, "job_name": "mrs_test_sparkjob_20170602_141106", "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "jar_path": "s3a://mrs-opsadm/jarpath/spark-test.jar", "arguments": "org.apache.spark.examples.SparkPi 10", "input": "", "output": "s3a://mrs-opsadm/output/", "job_log": "s3a://mrs-opsadm/log/", "file_action": "", "hql": "", "hive_script_path": "" }
Ejemplo de solicitud de un trabajo de Hive Script
{ "job_type": 3, "job_name": "mrs_test_SparkScriptJob_20170602_141106", "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "jar_path": "s3a://mrs-opsadm/jarpath/Hivescript.sql", "arguments": "", "input": "s3a://mrs-opsadm/input/", "output": "s3a://mrs-opsadm/output/", "job_log": "s3a://mrs-opsadm/log/", "file_action": "", "hql": "", "hive_script_path": "s3a://mrs-opsadm/jarpath/Hivescript.sql" }
Ejemplo de solicitud de un trabajo de DistCp para la importación
{ "job_type": 5, "job_name": "mrs_test_importjob_20170602_141106", "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "input": "s3a://mrs-opsadm/jarpath/hadoop-mapreduce-examples-2.7.2.jar", "output": "/user", "file_action": "import" }
Example request for exporting a DistCp job
{ "job_type": 5, "job_name": "mrs_test_exportjob_20170602_141106", "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "input": "/user/hadoop-mapreduce-examples-2.7.2.jar", "output": "s3a://mrs-opsadm/jarpath/", "file_action": "export" }
Ejemplo de solicitud de un trabajo de Spark Script
{ "job_type": 6, "job_name": "mrs_test_sparkscriptjob_20170602_141106", "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "jar_path": "s3a://mrs-opsadm/jarpath/sparkscript.sql", "arguments": "", "input": "s3a://mrs-opsadm/input/", "output": "s3a://mrs-opsadm/output/", "job_log": "s3a://mrs-opsadm/log/", "file_action": "", "hql": "", "hive_script_path": "s3a://mrs-opsadm/jarpath/sparkscript.sql" }
- Ejemplo de respuesta
{ "job_execution": { "templated": false, "created_at": 1496387588, "updated_at": 1496387588, "id": "12ee9ae4-6ee1-48c6-bb84-fb0b4f76cf03", "tenant_id": "c71ad83a66c5470496c2ed6e982621cc", "job_id": "", "job_name": "mrs_test_jobone_20170602_141106", "input_id": null, "output_id": null, "start_time": 1496387588, "end_time": null, "cluster_id": "e955a7a3-d334-4943-a39a-994976900d56", "engine_job_id": null, "return_code": null, "is_public": null, "is_protected": false, "group_id": "12ee9ae4-6ee1-48c6-bb84-fb0b4f76cf03", "jar_path": "s3a://mrs-opsadm/jarpath/hadoop-mapreduce-examples-2.7.2.jar", "input": "s3a://mrs-opsadm/input/", "output": "s3a://mrs-opsadm/output/", "job_log": "s3a://mrs-opsadm/log/", "job_type": 1, "file_action": "", "arguments": "wordcount", "hql": "", "job_state": 2, "job_final_status": 0, "hive_script_path": "", "create_by": "b67132be2f054a45b247365647e05af0", "finished_step": 0, "job_main_id": "", "job_step_id": "", "postpone_at": 1496387588, "step_name": "", "step_num": 0, "task_num": 0, "update_by": "b67132be2f054a45b247365647e05af0", "credentials": "", "user_id": "b67132be2f054a45b247365647e05af0", "job_configs": null, "extra": null, "data_source_urls": null, "info": null } }