文档首页 > > API参考> Spark作业相关API> 批处理相关API> 创建批处理作业

创建批处理作业

分享
更新时间:2020/11/02 GMT+08:00

功能介绍

该API用于在某个队列上创建作业。

URI

  • URI格式:

    POST /v2.0/{project_id}/batches

  • 参数说明
    表1 URI参数

    名称

    是否必选

    说明

    project_id

    项目编号,用于资源隔离。获取方式请参考获取项目ID

请求消息

表2 请求参数

参数

是否必选

参数类型

说明

file

String

用户已上传到DLI资源管理系统的类型为jar的程序包名。

className

String

批处理作业的Java/Spark主类。

queue

String

用于指定队列,填写已创建DLI的队列名。

说明:
  • 兼容“cluster_name”参数,即如果使用“cluster_name”指定队列仍然有效。
  • 推荐使用“queue”参数,“queue”参数与“cluster_name”参数两者不能同时存在。

cluster_name

String

用于指定队列,填写已创建DLI队列的队列名称。

说明:

推荐使用“queue”参数,“queue”参数与“cluster_name”参数两者不能同时存在。

args

Array of strings

传入主类的参数,即应用程序参数。

sc_type

String

计算资源类型,目前可接受参数A, B, C。如果不指定,则按最小类型创建。具体资源类型请参见表3

jars

Array of strings

用户已上传到DLI资源管理系统的类型为jar的程序包名。

pyFiles

Array of strings

用户已上传到DLI资源管理系统的类型为pyFile的资源包名。

files

Array of strings

用户已上传到DLI资源管理系统的类型为file的资源包名。

modules

Array of strings

依赖的系统资源模块名,具体模块名可通过查询所有资源包接口查看。

DLI系统提供了用于执行跨源作业的依赖模块,各个不同的服务对应的模块列表如下:
  • CloudTable/MRS HBase: sys.datasource.hbase
  • CloudTable/MRS OpenTSDB: sys.datasource.opentsdb
  • RDS MySQL: sys.datasource.rds
  • RDS PostGre: 不需要选
  • DWS: 不需要选
  • CSS: sys.datasource.css

resources

Array of strings

JSON对象列表,填写用户已上传到队列的类型为JSON的资源包名和类型。具体请见表4

groups

Array of strings

JSON对象列表,填写用户组类型资源,格式详见请求示例。如果“resources”中的“name”未进行type校验,只要此分组中存在这个名字的包即可。具体请见表5

conf

Array of objects

batch配置项,参考Spark Configuration

name

String

创建时用户指定的批处理名称,不能超过128个字符。

driverMemory

String

Spark应用的Driver内存,参数配置例如2G, 2048M。该配置项会替换“sc_type”中对应的默认参数,使用时必需带单位,否则会启动失败。

driverCores

Integer

Spark应用Driver的CPU核数。该配置项会替换sc_type中对应的默认参数。

executorMemory

String

Spark应用的Executor内存,参数配置例如2G, 2048M。该配置项会替换“sc_type”中对应的默认参数,使用时必需带单位,否则会启动失败。

executorCores

Integer

Spark应用每个Executor的CPU核数。该配置项会替换sc_type中对应的默认参数。

numExecutors

Integer

Spark应用Executor的个数。该配置项会替换sc_type中对应的默认参数。

obs_bucket

String

保存Spark作业的obs桶,需要保存作业时配置该参数。

autoRecovery

Boolean

是否开启重试功能,如果开启,可在Spark作业异常失败后自动重试。默认值为“false”。

maxRetryTimes

Integer

最大重试次数。最大值为“100”,默认值为“20”。

表3 资源类型说明

资源类型

物理资源

driverCores

executorCores

driverMemory

executorMemory

numExecutor

A

8核32G内存

2

1

7G

4G

6

B

16核64G内存

2

2

7G

8G

7

C

32核128G内存

4

2

15G

8G

14

表4 resources参数说明

参数

是否必选

参数类型

说明

name

String

资源名称。

type

String

资源类型。

表5 groups参数说明

参数

是否必选

参数类型

说明

name

String

用户组名称。

resources

Array of strings

用户组资源。具体请参考表4

响应消息

表6 响应参数

参数

是否必选

参数类型

说明

id

String

批处理作业的ID。

state

String

批处理作业的状态,详细说明请参见表7

appId

Array of strings

批处理作业的后台app ID。

log

Array of strings

显示当前批处理作业的最后10条记录。

sc_type

String

计算资源类型。用户自定义时返回CUSTOMIZED。

cluster_name

String

批处理作业所在队列。

create_time

Long

批处理的创建时间。是单位为“毫秒”的时间戳。

表7 批处理作业状态说明

名称

参数类型

说明

starting

String

批处理作业正在启动。

running

String

批处理作业正在执行任务。

dead

String

批处理作业已退出。

success

String

批处理作业执行成功。

recovering

String

批处理作业正在恢复。

示例

  • 请求样例:
    {
        "file": "batchTest/spark-examples_2.11-2.1.0.luxor.jar",
        "className": "org.apache.spark.examples.SparkPi",
        "sc_type": "A",
        "jars": ["demo-1.0.0.jar"],
        "files": ["count.txt"],
        "resources":[
                       {"name": "groupTest/testJar.jar", "type": "jar"},
                       {"name": "kafka-clients-0.10.0.0.jar", "type": "jar"}],
        "groups": [
                       {"name": "groupTestJar", "resources": [{"name": "testJar.jar", "type": "jar"}, {"name": "testJar1.jar", "type": "jar"}]}, 
                       {"name": "batchTest", "resources":  [{"name": "luxor.jar", "type": "jar"}]}],
        "queue": " test",
        "name": "TestDemo4"
    }

    其中“batchTest/spark-examples_2.11-2.1.0.luxor.jar”已提前通过上传资源包接口上传。

  • 成功响应样例:
    {
        "id": "80ceaaff-3cfc-4162-a56f-70031ea4fa91",
        "state": "starting",
        "appId": null,
        "log": [
            "stdout: ",
            "\nstderr: ",
            "\nYARN Diagnostics: "
        ],
        "sc_type": "A",
        "queue": "test",
        "create_time": 1531906043036
    }

    调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问