查看Spark作业详情 - ShowSparkJob
功能介绍
查看指定Spark作业的详细信息,此接口为同步接口。包括作业ID、作业名称、作业状态、作业配置、资源配置、镜像配置等完整信息,调用成功后直接返回作业详细信息。
调用方法
请参见如何调用API。
URI
GET /v2/workspaces/{workspace_id}/spark-jobs/{job_id}
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| workspace_id | 是 | String | 参数解释:工作空间ID,用于资源隔离。 约束限制:不涉及。 取值范围:只能由英文字母、数字及中划线组成,且长度为32~36个字符。 默认取值:不涉及。 |
| job_id | 是 | String | 参数解释:Spark作业ID,用于唯一标识作业。 约束限制:不涉及。 取值范围:只能由英文大写字母、英文小写字母、数字及下划线和横线组成,且长度为1~64个字符。 默认取值:不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释:用户Token。 约束限制:不涉及。 取值范围:长度不超过65534个字符。 默认取值:不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| job_id | String | 参数解释:Spark作业ID,用于唯一标识该作业。 取值范围:采用UUID格式,长度为36个字符,例如:80ceaaff-3cfc-4162-a56f-70031ea4fa91。 |
| client_token | String | 参数解释:Spark作业事务ID,用于防止重复提交。 取值范围:采用UUID格式,长度为36个字符,例如:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。 |
| name | String | 参数解释:Spark作业名称,用于标识作业。 取值范围:长度为1~128个字符。 |
| endpoint_name | String | 参数解释:端点名称,用于指定Spark作业执行环境。 取值范围:只能由英文小写字母、数字及中划线组成,以英文小写字母开头,以英文小写字母或数字结尾,且长度为1~63个字符。 |
| catalog_name | String | 参数解释:Catalog名称,用于指定作业使用的数据目录。 取值范围:长度为1~128个字符。 |
| job_agency | String | 参数解释:自定义委托的委托名,用于作业操作OBS对象、转储日志、访问DLI元数据等。 取值范围:长度为1~64个字符。 |
| state | String | 参数解释:Spark作业状态,用于标识作业当前执行状态。 取值范围: |
| state_message | String | 参数解释:作业状态消息,当作业异常结束时显示相关信息。 取值范围:长度为0~512个字符。 |
| job_config | One of:
| 参数解释:作业配置信息,包含作业类型、入口参数、依赖包等信息。 |
| resource_config | 参数解释:资源配置信息,包含Driver和Executor的资源配置。 | |
| restore_strategy | 参数解释:运行及恢复策略配置,包含重试次数和间隔等信息。 | |
| spark_config | Map<String,String> | 参数解释:用户自定义Spark参数配置。 取值范围:长度为0~1024个字符。 |
| logging_config | 参数解释:日志配置信息,包含Driver和Executor的日志级别配置。 | |
| image | 参数解释:镜像配置信息,包含镜像URL和版本信息。 | |
| retry_times | Integer | 参数解释:作业重试次数,用于记录作业失败后的重试次数。 取值范围:最小值为0。 |
| labels | Array of ShowSparkJobLabelResponse objects | 参数解释:作业标签列表,用于标识和分类作业。 |
| create_time | Long | 参数解释:作业创建时间,用于记录作业提交时间。 取值范围:unix时间戳,单位为毫秒。 |
| start_time | Long | 参数解释:作业开始运行时间,用于记录作业实际开始执行的时间。 取值范围:unix时间戳,单位为毫秒。 |
| end_time | Long | 参数解释:作业结束时间,用于记录作业执行完成的时间。 取值范围:unix时间戳,单位为毫秒。 |
| create_user | SparkCreateUser object | 参数解释:创建作业的用户信息。 |
| log_url | String | 参数解释:日志归档路径OBS URL,用于查看作业执行日志。 取值范围:OBS URL格式,长度为1~1024个字符。 |
| description | String | 参数解释:Spark作业描述信息,用于说明作业用途。 取值范围:长度为0~512个字符。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| main_class | String | 参数解释:Spark Jar作业入口类,用于指定作业的主类名称。 取值范围:完整的Java类路径格式,例如:com.example.SparkJob。 |
| main_args | Array of strings | 参数解释:Spark Jar作业入口类参数列表,用于传递作业执行参数。 |
| main_jar | String | 参数解释:Spark Jar作业主类所在Jar包的OBS路径,用于指定作业的主Jar包。 取值范围:OBS URL格式,长度为1~1024个字符,例如:obs://bucket/jars/spark-job.jar。 |
| dependency_jars | Array of strings | 参数解释:依赖Jar包列表,用于指定Spark作业依赖的Jar包OBS路径。 |
| dependency_files | Array of strings | 参数解释:依赖文件列表,用于指定Spark作业依赖的文件OBS路径。 |
| dependency_archives | Array of strings | 参数解释:依赖归档包列表,用于指定Spark作业依赖的归档包OBS路径。 |
| dependency_py_files | Array of strings | 参数解释:依赖Python文件列表,用于指定Spark作业依赖的Python包OBS路径。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| main_python_file | String | 参数解释:主Python文件路径,用于指定Python Spark作业的主文件OBS路径。 取值范围:OBS URL格式,长度为1~512个字符,例如:obs://bucket/pyspark/pySpark_udf_python.py. |
| main_args | Array of strings | 参数解释:Spark Python作业入口类参数列表,用于传递作业执行参数。 |
| dependency_jars | Array of strings | 参数解释:依赖Jar包列表,用于指定Spark作业依赖的Jar包OBS路径。 |
| dependency_files | Array of strings | 参数解释:依赖文件列表,用于指定Spark作业依赖的文件OBS路径。 |
| dependency_archives | Array of strings | 参数解释:依赖归档包列表,用于指定Spark作业依赖的归档包OBS路径。 |
| dependency_py_files | Array of strings | 参数解释:依赖Python文件列表,用于指定Spark作业依赖的Python包OBS路径。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| sql_scripting_file | String | 参数解释:Spark Script SQL类型作业的SQL脚本文件OBS路径,用于指定作业执行的SQL脚本。 取值范围:OBS URL格式,长度为1~1024个字符,例如:obs://bucket/sparksql/script.sql。 |
| sql_scripting_parameters | Array of SparkJobSqlScriptParameter objects | 参数解释:SQL脚本占位符参数列表,用于为SQL脚本中的占位符传递参数值。 |
| dependency_jars | Array of strings | 参数解释:依赖Jar包列表,用于指定Spark作业依赖的Jar包OBS路径。 |
| sql_scripting_result_to_obs | Boolean | 参数解释:SQL脚本结果是否写入OBS,用于控制查询结果的输出方式。 取值范围: |
| result | 参数解释:SQL脚本查询结果信息,包含结果格式和存储路径。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释:占位符的键,用于标识SQL脚本中的参数名称。 取值范围:长度为1~128个字符。 |
| value | String | 参数解释:占位符的值,用于传递给SQL脚本的实际参数值。不同类型的数据格式如下: 取值范围:长度为1~512个字符。 |
| value_type | String | 参数解释:占位符类型,用于标识占位符值的数据类型。 约束限制:不涉及。 取值范围: 默认取值:STRING。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| result_format | String | 参数解释:查询类SQL结果格式,用于指定结果数据的输出格式。 取值范围:支持csv格式。 |
| result_path | String | 参数解释:查询类SQL结果OBS路径,用于指定结果数据的存储位置。 取值范围:OBS URL格式,长度为1~1024个字符,例如:obs://bucket/results/result.csv. |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| driver_resource_spec | ShowResourceSpecResponse object | 参数解释:Driver资源配置,包含CPU、内存、磁盘等信息。 |
| executor_resource_spec | ShowResourceSpecResponse object | 参数解释:Executor资源配置,包含CPU、内存、磁盘等信息。 |
| executor_number | Integer | 参数解释:Spark作业的最大executor个数,用于动态资源分配。 取值范围:大于0的整数。 当配置“executor_number”时,表示启用动态资源分配:spark.dynamicAllocation.enabled=true,spark.dynamicAllocation.minExecutor=1,spark.dynamicAllocation.maxExecutors=executor_number,spark.dynamicAllocation.initialExecutors=1。如需修改上述参数,可通过properties字段设置spark相关参数。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| cpu | Integer | 参数解释:CPU毫核数,用于指定Driver或Executor的CPU资源。 取值范围:最小值为1,默认值为1000。 |
| memory | Integer | 参数解释:内存大小,用于指定Driver或Executor的内存资源。 取值范围:单位为MB,最小值为1。默认值为4096。 |
| disk | Integer | 参数解释:本地磁盘大小,用于指定Driver或Executor的本地磁盘容量。 取值范围:单位为GB,最小值为0。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| max_retry | Integer | 参数解释:最大重试次数,用于控制作业失败后的自动重试。 取值范围:大于0表示开启失败重试,0表示不开启重试。 |
| retry_delay | Integer | 参数解释:重试间隔时间,用于指定每次重试之间的等待时间。 取值范围:单位为秒,默认值为30秒。 |
| queued_timeout | Integer | 参数解释:排队超时时间,用于指定作业提交后的最大等待时间。 取值范围:单位为分钟,默认值为180分钟,最小值为10分钟,最大值180分钟。超过此时间作业仍未运行则作业失败。 |
| running_timeout | Integer | 参数解释:运行超时时间,用于指定作业运行的最大时长。 取值范围:单位为分钟,默认值为-1(表示不限制),最小值为10分钟,最大值为525600分钟(10年)。超过此时间作业未结束则作业会取消运行并标记失败。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| driver_root_logger_level | String | 参数解释:Driver根日志级别,用于控制Driver的整体日志输出级别。 |
| driver_loggers_level_of_class | Array of ShowSparkClassLoggerLevelResponse objects | 参数解释:Driver类日志级别配置列表,用于为指定类设置特定的日志级别。 |
| executor_root_logger_level | String | 参数解释:Executor根日志级别,用于控制Executor的整体日志输出级别。 |
| executor_loggers_level_of_class | Array of ShowSparkClassLoggerLevelResponse objects | 参数解释:Executor类日志级别配置列表,用于为指定类设置特定的日志级别。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| logger_name | String | 参数解释:输出日志类的名称,用于指定需要配置日志级别的类。 取值范围:完整的类路径格式,例如:com.aaa.bbb.ccc。长度为1~512个字符。 |
| logger_level | String | 参数解释:日志级别,用于控制该类的日志输出级别。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| image_id | String | 参数解释:镜像ID,唯一标识Spark作业使用的镜像。 取值范围:长度为1~128个字符。 |
| image_version_id | String | 参数解释:镜像版本,指定镜像的版本号。 取值范围:长度为1~64个字符。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释:标签键,用于标识标签的名称。 取值范围:长度为1~128个字符。 |
| value | String | 参数解释:标签值,用于标识标签的具体内容。 取值范围:长度为0~512个字符。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| user_id | String | 参数解释:创建作业的用户ID,用于标识作业创建者。 取值范围:长度为1~256个字符。 |
| user_name | String | 参数解释:创建作业的用户名称,用于标识作业创建者。 取值范围:长度为1~256个字符。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码,用于标识具体的错误类型。 取值范围:长度为0~64个字符。 |
| error_msg | String | 参数解释:错误描述信息,用于说明错误原因。 取值范围:长度为0~512个字符。 |
| solution_msg | String | 参数解释:解决方案描述。 取值范围:长度为0~4096个字符。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码,用于标识具体的错误类型。 取值范围:长度为0~64个字符。 |
| error_msg | String | 参数解释:错误描述信息,用于说明错误原因。 取值范围:长度为0~512个字符。 |
| solution_msg | String | 参数解释:解决方案描述。 取值范围:长度为0~4096个字符。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释:错误码,用于标识具体的错误类型。 取值范围:长度为0~64个字符。 |
| error_msg | String | 参数解释:错误描述信息,用于说明错误原因。 取值范围:长度为0~512个字符。 |
| solution_msg | String | 参数解释:解决方案描述。 取值范围:长度为0~4096个字符。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| - | String | 错误信息。 |
请求示例
查看指定Spark作业的完整详细信息。
GET /v2/workspaces/{workspace_id}/spark-jobs/{job_id} 响应示例
状态码:200
查看Spark作业详情成功。
{
"job_id" : "80ceaaff-3cfc-4162-a56f-70031ea4fa91",
"client_token" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name" : "spark-jar-job-example",
"endpoint_name" : "my-spark-endpoint",
"catalog_name" : "my_catalog",
"state" : "SUCCEED",
"job_agency" : "my_agency",
"job_config" : {
"type" : "spark_jar_job",
"main_class" : "com.example.SparkJobDriver",
"main_jar" : "obs://my-bucket/jars/spark-job-1.0.jar",
"main_args" : [ "--input", "obs://my-bucket/input", "--output", "obs://my-bucket/output" ],
"dependency_jars" : [ "obs://my-bucket/jars/utils-1.0.jar" ]
},
"resource_config" : {
"executor_number" : 2,
"driver_resource_spec" : {
"cpu" : 2000,
"memory" : 4096
},
"executor_resource_spec" : {
"cpu" : 4000,
"memory" : 8192,
"disk" : 20
}
},
"image" : {
"image_id" : "spark-image-01",
"image_version_id" : "v3.3.1-hw"
},
"restore_strategy" : {
"max_retry" : 3,
"retry_delay" : 30,
"queued_timeout" : 180,
"running_timeout" : 720
},
"retry_times" : 1,
"labels" : [ {
"key" : "env",
"value" : "production"
}, {
"key" : "team",
"value" : "data-team"
} ],
"logging_config" : {
"driver_root_logger_level" : "INFO",
"executor_root_logger_level" : "INFO"
},
"description" : "Spark作业示例。",
"create_time" : 1698776400000,
"start_time" : 1698776450000,
"end_time" : 1698776700000,
"create_user" : {
"user_id" : "user123",
"user_name" : "admin"
},
"log_url" : "https://obs.example.com/logs/spark-job.log",
"state_message" : ""
} 状态码:400
请求参数错误。
{
"error_code" : "AIDataLake.01011001",
"error_msg" : "Invalid parameter name",
"solution_msg" : "Please check the input parameters according to the documentation(name for spark job)."
} 状态码:401
认证失败。
{
"error_code" : "AIDataLake.01011003",
"error_msg" : "auth token not exists in header",
"solution_msg" : "Please check if auth token is included in the request header."
} 状态码:403
权限不足。
{
"error_code" : "AIDataLake.01011005",
"error_msg" : "current account has no permission",
"solution_msg" : "Please connect administrators to add permission."
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 查看Spark作业详情成功。 |
| 400 | 请求参数错误。 |
| 401 | 认证失败。 |
| 403 | 权限不足。 |
| 500 | 服务内部错误。 |