链接复制成功!
ma-cli dli-job提交DLI Spark作业支持的命令
$ma-cli dli-job -h Usage: ma-cli dli-job [OPTIONS] COMMAND [ARGS]... DLI spark job submission and query job details. Options: -h, -H, --help Show this message and exit. Commands: get-job Get DLI spark job details. get-log Get DLI spark log details. get-queue Get DLI spark queues info. get-resource Get DLI resources info. stop Stop DLI spark job by job id. submit Submit dli spark batch job. upload Upload local file or OBS object to DLI resources.
命令 |
命令详情 |
---|---|
get-job |
查询DLI Spark作业列表及详情。 |
get-log |
查询DLI Spark运行日志。 |
get-queue |
查询DLI队列。 |
get-resource |
查询DLI分组资源。 |
stop |
停止DLI Spark作业。 |
submit |
提交DLI Spark作业。 |
upload |
上传本地文件或OBS文件到DLI分组资源。 |
使用ma-cli dli-job get-job命令查询DLI Spark作业
执行ma-cli dli-job get-job查询DLI Spark作业列表或单个作业详情。
ma-cli dli-job get-job -h Usage: ma-cli dli-job get-job [OPTIONS] Get DLI Spark details. Example: # Get DLI Spark job details by job name ma-cli dli-job get-job -n ${job_name} # Get DLI Spark job details by job id ma-cli dli-job get-job -i ${job_id} # Get DLI Spark job list ma-cli dli-job get-job --page-size 5 --page-num 1 Options: -i, --job-id TEXT Get DLI Spark job details by job id. -n, --job-name TEXT Get DLI Spark job details by job name. -pn, --page-num INTEGER RANGE Specify which page to query. [x>=1] -ps, --page-size INTEGER RANGE The maximum number of results for this query. [x>=1] -v, --verbose Show detailed information about DLI Spark job details. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
-i / --job-id |
String |
否 |
查询指定DLI Spark作业ID的任务详情。 |
-n / --job-name |
String |
否 |
查询指定作业名称的DLI Spark作业或根据作业名称关键字过滤DLI Spark作业。 |
-pn / --page-num |
Int |
否 |
作业索引页,默认是第1页。 |
-ps / --page-size |
Int |
否 |
每页显示的作业数量,默认是20。 |
-v / --verbose |
Bool |
否 |
显示详细的信息开关,默认关闭。 |
示例:查询DLI Spark所有作业。
ma-cli dli-job get-job
使用ma-cli dli-job submit命令提交DLI Spark作业
执行ma-cli dli-job submit命令提交DLI Spark作业。
ma-cli dli-job submit命令需要指定一个位置参数YAML_FILE表示作业的配置文件路径,如果不指定该参数,则表示配置文件为空。配置文件是一个YAML格式的文件,里面的参数就是命令的option参数。此外,如果用户在命令行中同时指定YAML_FILE配置文件和option参数,命令行中指定的option参数的值将会覆盖配置文件相同的值。
命令参数预览
ma-cli dli-job submit -h Usage: ma-cli dli-job submit [OPTIONS] [YAML_FILE]... Submit DLI Spark job. Example: ma-cli dli-job submit --name test-spark-from-sdk --file test/sub_dli_task.py --obs-bucket dli-bucket --queue dli_test --spark-version 2.4.5 --driver-cores 1 --driver-memory 1G --executor-cores 1 --executor-memory 1G --num-executors 1 Options: --file TEXT Python file or app jar. -cn, --class-name TEXT Your application's main class (for Java / Scala apps). --name TEXT Job name. --image TEXT Full swr custom image path. --queue TEXT Execute queue name. -obs, --obs-bucket TEXT DLI obs bucket to save logs. -sv, --spark-version TEXT Spark version. -st, --sc-type [A|B|C] Compute resource type. --feature [basic|custom|ai] Type of the Spark image used by a job (default: basic). -ec, --executor-cores INTEGER Executor cores. -em, --executor-memory TEXT Executor memory (eg. 2G/2048MB). -ne, --num-executors INTEGER Executor number. -dc, --driver-cores INTEGER Driver cores. -dm, --driver-memory TEXT Driver memory (eg. 2G/2048MB). --conf TEXT Arbitrary Spark configuration property (eg. <PROP=VALUE>). --resources TEXT Resources package path. --files TEXT Files to be placed in the working directory of each executor. --jars TEXT Jars to include on the driver and executor class paths. -pf, --py-files TEXT Python files to place on the PYTHONPATH for Python apps. --groups TEXT User group resources. --args TEXT Spark batch job parameter args. -q, --quiet Exit without waiting after submit successfully. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
yaml文件预览
# dli-demo.yaml name: test-spark-from-sdk file: test/sub_dli_task.py obs-bucket: ${your_bucket} queue: dli_notebook spark-version: 2.4.5 driver-cores: 1 driver-memory: 1G executor-cores: 1 executor-memory: 1G num-executors: 1 ## [Optional] jars: - ./test.jar - obs://your-bucket/jars/test.jar - your_group/test.jar ## [Optional] files: - ./test.csv - obs://your-bucket/files/test.csv - your_group/test.csv ## [Optional] python-files: - ./test.py - obs://your-bucket/files/test.py - your_group/test.py ## [Optional] resources: - name: your_group/test.py type: pyFile - name: your_group/test.csv type: file - name: your_group/test.jar type: jar - name: ./test.py type: pyFile - name: obs://your-bucket/files/test.py type: pyFile ## [Optional] groups: - group1 - group2
指定options参数提交DLI Spark作业示例:
$ ma-cli dli-job submit --name test-spark-from-sdk \ --file test/sub_dli_task.py \ --obs-bucket ${your_bucket} \ --queue dli_test \ --spark-version 2.4.5 \ --driver-cores 1 \ --driver-memory 1G \ --executor-cores 1 \ --executor-memory 1G \ --num-executors 1
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
YAML_FILE |
String |
否 |
DLI Spark作业的配置文件本地路径,如果不传则表示配置文件为空。 |
--file |
String |
是 |
程序运行入口文件,支持本地文件路径、OBS路径或者用户已上传到DLI资源管理系统的类型为jar或pyFile的程序包名。 |
-cn / --class_name |
String |
是 |
批处理作业的Java/Spark主类。 |
--name |
String |
否 |
创建时用户指定的作业名称,不能超过128个字符。 |
--image |
String |
否 |
自定义镜像路径,格式为:组织名/镜像名:镜像版本。当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Spark镜像。 |
-obs / --obs-bucket |
String |
否 |
保存Spark作业的obs桶,需要保存作业时配置该参数。同时也可作为提交本地文件到resource的中转站。 |
-sv/ --spark-version |
String |
否 |
作业使用Spark组件的版本号。 |
-st / `--sc-type |
String |
否 |
如果当前Spark组件版本为2.3.2,则不填写该参数。 如果当前Spark组件版本为2.3.3,则在“feature”为“basic”或“ai”时填写。如果不填写,则使用默认的Spark组件版本号2.3.2。 |
--feature |
String |
否 |
作业特性。表示用户作业使用的Spark镜像类型,默认值为basic。
|
--queue |
String |
否 |
用于指定队列,填写已创建DLI的队列名。必须为通用类型的队列。队列名称的获取请参考表5。 |
-ec / --executor-cores |
String |
否 |
Spark应用每个Executor的CPU核数。该配置项会替换sc_type中对应的默认参数。 |
-em / --executor-memory |
String |
否 |
Spark应用的Executor内存,参数配置例如2G,2048M。该配置项会替换“sc_type”中对应的默认参数,使用时必须带单位,否则会启动失败。 |
-ne / --num-executors |
String |
否 |
Spark应用Executor的个数。该配置项会替换sc_type中对应的默认参数。 |
-dc / --driver-cores |
String |
否 |
Spark应用Driver的CPU核数。该配置项会替换sc_type中对应的默认参数。 |
-dm / --driver-memory |
String |
否 |
Spark应用的Driver内存,参数配置例如2G,2048M。该配置项会替换“sc_type”中对应的默认参数,使用时必须带单位,否则会启动失败。 |
--conf |
Array of String |
否 |
batch配置项,参考Spark Configuration。如果需要指定多个参数,可以使用--conf conf1 --conf conf2。 |
--resources |
Array of String |
否 |
资源包名称。支持本地文件,OBS路径及用户已上传到DLI资源管理系统的文件。如果需要指定多个参数,可以使用--resources resource1 --resources resource2。 |
--files |
Array of String |
否 |
用户已上传到DLI资源管理系统的类型为file的资源包名。也支持指定OBS路径,例如:obs://桶名/包名。同时也支持本地文件。如果需要指定多个参数,可以使用--files file1 --files file2。 |
--jars |
Array of String |
否 |
用户已上传到DLI资源管理系统的类型为jar的程序包名。也支持指定OBS路径,例如:obs://桶名/包名。也支持本地文件。如果需要指定多个参数,可以使用--jars jar1 --jars jar2。 |
-pf /--python-files |
Array of String |
否 |
用户已上传到DLI资源管理系统的类型为pyFile的资源包名。也支持指定OBS路径,例如:obs://桶名/包名。也支持本地文件。如果需要指定多个参数,可以使用--python-files py1 --python-files py2。 |
--groups |
Array of String |
否 |
资源分组名称,如果需要指定多个参数,可以使用--groups group1 --groups group2。 |
--args |
Array of String |
否 |
传入主类的参数,即应用程序参数。如果需要指定多个参数,可以使用--args arg1 --args arg2。 |
-q / --quiet |
Bool |
否 |
提交DLI Spark作业成功后直接退出,不再同步打印任务状态。 |
示例
- 通过YAML_FILE文件提交DLI Spark作业。
$ma-cli dli-job submit dli_job.yaml
- 指定命令行options参数提交DLI Spark作业。
$ma-cli dli-job submit --name test-spark-from-sdk \ > --file test/jumpstart-trainingjob-gallery-pytorch-sample.ipynb \ > --queue dli_ma_notebook \ > --spark-version 2.4.5 \ > --driver-cores 1 \ > --driver-memory 1G \ > --executor-cores 1 \ > --executor-memory 1G \ > --num-executors 1
使用ma-cli dli-job get-log命令查询DLI Spark运行日志
执行ma-cli dli-job get-log命令查询DLI Spark作业后台的日志。
$ ma-cli dli-job get-log -h Usage: ma-cli dli-job get-log [OPTIONS] Get DLI spark job log details. Example: # Get job log by job id ma-cli dli-job get-log --job-id ${job_id} Options: -i, --job-id TEXT Get DLI spark job details by job id. [required] -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
-i / --job-id |
String |
是 |
查询指定DLI Spark作业ID的任务日志。 |
示例:查询指定作业ID的DLI Spark作业运行日志。
ma-cli dli-job get-log --job-id ${your_job_id}
使用ma-cli dli-job get-queue命令查询DLI队列
执行ma-cli dli-job get-queue命令查询DLI队列。
ma-cli dli-job get-queue -h Usage: ma-cli dli-job get-queue [OPTIONS] Get DLI queues info. Example: # Get DLI queue details by queue name ma-cli dli-job get-queue --queue-name $queue_name} Options: -pn, --page-num INTEGER RANGE Specify which page to query. [x>=1] -ps, --page-size INTEGER RANGE The maximum number of results for this query. [x>=1] -n, --queue-name TEXT Get DLI queue details by queue name. -t, --queue-type [sql|general|all] DLI queue type (default "all"). -tags, --tags TEXT Get DLI queues by tags. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
-n / --queue-name |
String |
否 |
指定需要查询的DLI队列名称。 |
-t / --queue-type |
String |
否 |
指定查询的DLI队列类型,支持sql、general和all,默认是all。 |
-tags / --tags |
String |
否 |
指定查询的DLI队列tags。 |
-pn / --page-num |
Int |
否 |
DLI队列页索引,默认是第1页。 |
-ps / --page-size |
Int |
否 |
每页显示的DLI队列数量,默认是20。 |
示例:查询队列名为“dli_ma_notebook”的队列信息。
ma-cli dli-job get-queue --queue-name dli_ma_notebook
使用ma-cli dli-job get-resource命令查询DLI分组资源
执行ma-cli dli-job get-resource命令获取DLI资源详细信息,如资源名称,资源类型等。
$ ma-cli dli-job get-resource -h Usage: ma-cli dli-job get-resource [OPTIONS] Get DLI resource info. Example: # Get DLI resource details by resource name ma-cli dli-job get-resource --resource-name ${resource_name} Options: -n, --resource-name TEXT Get DLI resource details by resource name. -k, --kind [jar|pyFile|file|modelFile] DLI resources type. -g, --group TEXT Get DLI resources by group. -tags, --tags TEXT Get DLI resources by tags. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
-n / --resource-name |
String |
否 |
按DLI分组资源名称查询DLI资源详细信息。 |
-k / --kind |
String |
否 |
按DLI分组资源类型查询DLI资源详细信息,支持jar、pyFile、file和modelFile。 |
-g / --group |
String |
否 |
按DLI分组资源组名查询DLI资源组详细信息。 |
-tags / --tags |
String |
否 |
通过DLI分组资源tags获取DLI资源详细信息。 |
示例:查询所有DLI分组资源信息。
ma-cli dli-job get-resource
使用ma-cli dli-job upload命令上传文件到DLI分组资源
ma-cli dli-job upload命令支持将本地文件或OBS文件上传到DLI资源组。
$ ma-cli dli-job upload -h Usage: ma-cli dli-job upload [OPTIONS] PATHS... Upload DLI resource. Tips: --obs-path is need when upload local file. Example: # Upload an OBS path to DLI resource ma-cli dli-job upload obs://your-bucket/test.py -g test-group --kind pyFile # Upload a local path to DLI resource ma-cli dli-job upload ./test.py -g test-group -obs ${your-bucket} --kind pyFile # Upload local path and OBS path to DLI resource ma-cli dli-job upload ./test.py obs://your-bucket/test.py -g test-group -obs ${your-bucket} Options: -k, --kind [jar|pyFile|file] DLI resources type. -g, --group TEXT DLI resources group. -tags, --tags TEXT DLI resources tags, follow --tags `key1`=`value1`. -obs, --obs-bucket TEXT OBS bucket for upload local file. -async, --is-async whether to upload resource packages in asynchronous mode. The default value is False. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
PATHS |
String |
是 |
需要上传到DLI分组资源的本地文件路径或者obs路径,支持同时传入多个路径。 |
-k / --kind |
String |
否 |
上传文件的类型,支持jar、pyFile和file。 |
-g / --group |
String |
否 |
上传文件的DLI分组名。 |
-tags / --tags |
String |
否 |
上传文件的tag。 |
-obs / --obs-bucket |
String |
否 |
如果上传文件包含本地路径,则需要指定一个OBS桶作为中转。 |
-async / --is-async |
Bool |
否 |
异步上传文件,推荐使用。 |
示例
- 上传本地文件到DLI分组资源
ma-cli dli-job upload ./test.py -obs ${your-bucket} --kind pyFile
- 上传OBS文件到DLI分组资源
ma-cli dli-job upload obs://your-bucket/test.py --kind pyFile
使用ma-cli dli-job stop命令停止DLI Spark作业
执行ma-cli dli-job stop命令停止DLI Spark作业。
$ ma-cli dli-job stop -h Usage: ma-cli dli-job stop [OPTIONS] Stop DLI spark job by job id. Example: Stop training job by job id ma-cli dli-job stop --job-id ${job_id} Options: -i, --job-id TEXT Get DLI spark job event by job id. [required] -y, --yes Confirm stop operation. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
参数名 |
参数类型 |
是否必选 |
参数说明 |
---|---|---|---|
-i / --job-id |
String |
是 |
DLI Spark作业ID。 |
-y / --yes |
Bool |
否 |
强制关闭指定DLI Spark作业。 |
示例
ma-cli dli-job stop -i ${your_job_id}