新增作业并执行(废弃)
功能介绍
在MRS集群中新增一个作业,并执行作业。该接口不兼容Sahara。 集群ID可参考查询集群列表接口获取。
MRS 3.x版本镜像,不支持MRS V1.1作业管理接口,需要使用V2作业管理接口。
接口约束
- DistCp作业需要配置文件操作类型(file_action)。
- Spark SQL需要配置Spark SQL语句(hql)和sql程序路径(hive_script_path)。
- 开启Kerberos认证的安全集群暂不支持使用该接口提交作业。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1.1/{project_id}/jobs/submit-job
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: 项目编号。获取方法,请参见获取项目ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
job_name |
是 |
String |
参数解释: 作业名称。 约束限制: 不涉及 取值范围: 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 不同作业的名称允许相同,但不建议设置相同。 默认取值: 不涉及 |
cluster_id |
是 |
String |
参数解释: 集群ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
jar_path |
否 |
String |
参数解释: 执行程序Jar包或sql文件地址。 约束限制: 作业类型为MapReduce或Spark时,jar_path参数为必选。 取值范围:
默认取值: 不涉及 |
input |
否 |
String |
参数解释: 数据输入地址。 约束限制: 不涉及 取值范围: 必须以“/”或“s3a://”开头。请配置为正确的OBS路径,OBS路径不支持KMS加密的文件或程序。 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
output |
否 |
String |
参数解释: 数据输出地址。 约束限制: 不涉及 取值范围: 必须以“/”或“s3a://”开头。请配置为正确的OBS路径,如果该路径不存在,系统会自动创建。 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
job_log |
否 |
String |
参数解释: 作业日志存储地址,该日志信息记录作业运行状态。 约束限制: 不涉及 取值范围: 必须以“/”或“s3a://”开头,请配置为正确的OBS路径。 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
job_type |
是 |
Integer |
参数解释: 作业类型码。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
file_action |
否 |
String |
参数解释: 文件操作类型。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
arguments |
否 |
String |
参数解释: 程序执行的关键参数。 约束限制: 该参数由用户程序内的函数指定,MRS只负责参数的传入。 取值范围: 最多为150000字符,不能包含;|&>'<$!"\特殊字符,可为空。 说明: 用户输入带有敏感信息(如登录密码)的参数时,可通过在参数名前添加“@”的方式,为该参数值加密,以防止敏感信息被明文形式持久化。在查看作业信息时,敏感信息显示为“*”。 例如:username=xxx @password=yyy 默认取值: 不涉及 |
hql |
否 |
String |
参数解释: Spark SQL语句。 约束限制: 该语句需要进行Base64编码和解码,“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”为标准的编码表,MRS使用“ABCDEFGHILKJMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”进行Base64编码。在编码后所得字符串首位任意加上一个字母,即得到Hql参数的值。后台自动进行解码得到Spark SQL语句。 使用样例:
取值范围: 不涉及 默认取值: 不涉及 |
hive_script_path |
否 |
String |
参数解释: sql程序路径。 约束限制: 仅Spark Script和Hive Script作业需要使用此参数。 取值范围:
默认取值: 不涉及 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
templated |
Boolean |
参数解释: 作业执行对象是否由作业模板生成。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
created_at |
Long |
参数解释: 作业创建时间,十位时间戳。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
updated_at |
Long |
参数解释: 作业更新时间,十位时间戳。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
id |
String |
参数解释: 作业ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
tenant_id |
String |
参数解释: 项目编号。获取方法,请参见获取项目ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
job_id |
String |
参数解释: 作业应用ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
job_name |
String |
参数解释: 作业名称。 约束限制: 不涉及 取值范围: 只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 不同作业的名称允许相同,但不建议设置相同。 默认取值: 不涉及 |
input_id |
String |
参数解释: 数据输入ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
output_id |
String |
参数解释: 数据输出ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
start_time |
Long |
参数解释: 作业执行开始时间,十位时间戳。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
end_time |
Long |
参数解释: 作业执行结束时间,十位时间戳。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
cluster_id |
String |
参数解释: 集群ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
engine_job_id |
String |
参数解释: Oozie工作流ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
return_code |
String |
参数解释: 运行结果返回码。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
is_public |
Boolean |
参数解释: 是否公开。 约束限制: 当前版本不支持该功能。 取值范围: 不涉及 默认取值: 不涉及 |
is_protected |
Boolean |
参数解释: 是否受保护。 约束限制: 当前版本不支持该功能。 取值范围: 不涉及 默认取值: 不涉及 |
group_id |
String |
参数解释: 作业执行组ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
jar_path |
String |
参数解释: 执行程序Jar包或sql文件地址。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
input |
String |
参数解释: 数据输入地址。 约束限制: 请配置为正确的OBS路径,OBS路径不支持KMS加密的文件或程序。 取值范围: 必须以“/”或“s3a://”开头。 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
output |
String |
参数解释: 数据输出地址。 约束限制: 不涉及 取值范围: 必须以“/”或“s3a://”开头。请配置为正确的OBS路径,如果该路径不存在,系统会自动创建。 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
job_log |
String |
参数解释: 作业日志存储地址,该日志信息记录作业运行状态。 约束限制: 不涉及 取值范围: 必须以“/”或“s3a://”开头,请配置为正确的OBS路径。 最多为1023字符,不能包含;|&>'<$特殊字符,可为空。 默认取值: 不涉及 |
job_type |
Integer |
参数解释: 作业类型码。 约束限制: 只有包含Spark和Hive组件的集群才能新增Spark和Hive类型的作业。 取值范围:
默认取值: 不涉及 |
file_action |
String |
参数解释: 文件操作类型。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
arguments |
String |
参数解释: 程序执行的关键参数。 约束限制: 该参数由用户程序内的函数指定,MRS只负责参数的传入。 取值范围: 最多为150000字符,不能包含;|&>'<$!"\特殊字符,可为空。 说明: 用户输入带有敏感信息(如登录密码)的参数时,可通过在参数名前添加“@”的方式,为该参数值加密,以防止敏感信息被明文形式持久化。在查看作业信息时,敏感信息显示为“*”。 例如:username=admin @password=*** 默认取值: 不涉及 |
hql |
String |
参数解释: Hive&Spark Sql语句。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
job_state |
Integer |
参数解释: 作业状态码。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
job_final_status |
Integer |
参数解释: 作业最终状态码。 约束限制: 不涉及 取值范围:
默认取值: 不涉及 |
hive_script_path |
String |
参数解释: sql程序路径。 约束限制: 仅Spark Script和Hive Script作业需要使用此参数。 取值范围:
默认取值: 不涉及 |
create_by |
String |
参数解释: 创建作业的用户ID。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
finished_step |
Integer |
参数解释: 当前已完成的步骤数。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
job_main_id |
String |
参数解释: 作业主ID。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
job_step_id |
String |
参数解释: 作业步骤ID。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
postpone_at |
Long |
参数解释: 延迟时间,十位时间戳。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
step_name |
String |
参数解释: 作业步骤名。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
step_num |
Integer |
参数解释: 步骤数量 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
task_num |
Integer |
参数解释: 任务数量。 为兼容历史版本,保留此参数。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
update_by |
String |
参数解释: 更新作业的用户ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
credentials |
String |
参数解释: 令牌,当前版本不支持。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
user_id |
String |
参数解释: 创建作业的用户ID。 历史版本兼容,不再使用。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
job_configs |
Map<String,Object> |
参数解释: 键值对集合,用于保存作业运行配置。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
extra |
Map<String,Object> |
参数解释: 认证信息,当前版本不支持。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
data_source_urls |
Map<String,Object> |
参数解释: 数据源URL。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
info |
Map<String,Object> |
参数解释: 键值对集合,包含oozie返回的作业运行信息。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
- MapReduce作业请求示例
POST https://{endpoint}/v1.1/{project_id}/jobs/submit-job { "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" : "" }
- Spark作业请求示例
POST https://{endpoint}/v1.1/{project_id}/jobs/submit-job { "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" : "" }
- Hive Script作业请求示例
POST https://{endpoint}/v1.1/{project_id}/jobs/submit-job { "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" }
- DistCp导入作业请求示例
POST https://{endpoint}/v1.1/{project_id}/jobs/submit-job { "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" }
- DistCp导出作业请求示例
POST https://{endpoint}/v1.1/{project_id}/jobs/submit-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" }
- Spark Script作业请求示例
POST https://{endpoint}/v1.1/{project_id}/jobs/submit-job { "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" }
响应示例
状态码: 200
新增作业成功。
{ "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" : null, "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 } }
状态码
状态码 |
描述 |
---|---|
200 |
新增作业成功。 |
错误码
请参见错误码。