You need to enable JavaScript to run this app.
导航

CreateApplication

最近更新时间2023.05.11 16:26:02

首次发布时间2023.05.11 16:17:41

调用 CreateApplication 接口,创建 Spark 任务。

前提条件

一般是由开发人员(Project_Dev )负责开发任务,请确保操作者已被添加为项目成员并关联角色,请参见权限概述

请求参数

参数

类型

是否必填

示例值

说明

ProjectId

string

w4***rd65

项目 ID。

Image

string

192.168..:30004/open_platform/streamx:888

用户自定义镜像。

EngineVersion

string

SPARK_VERSION_3_0_1_OS

引擎版本。

  • SPARK_VERSION_3_0_1_OS
  • SPARK_VERSION_3_2_2

MainClass

string

com.bytedance.openplatform.SparkPi

Jar 类型任务的启动类。

Args

string

3 60

任务启动类的参数。

Jar

string

5eb5896a**70108933

任务资源文件路径或元数据 ID。

  • Java Main Jar 文件路径或 Python 文件路径
  • 资源文件元数据 ID

DeployRequest

object(POSTApiV1AppCreateDeployRequest)

-

任务部署策略,详情请参见 POSTApiV1AppCreateDeployRequest 数据结构

ApplicationType

string

SPARK_BATCH_SQL

需要创建的任务类型:

  • SPARK_BATCH_JAR:当需要创建Spark Scala 任务时,同样填这个类型
  • SPARK_BATCH_SQL
  • SPARK_BATCH_PYTHON

Dependency

object(POSTApiV1AppCreateDependency)

-

任务的依赖文件,详情请参见 POSTApiV1AppCreateDependency 数据结构

ApplicationName

string

spark-application-1

创建的任务名称。
名称的字符长度为 1~48,支持数字、大小写英文字母、下划线(_)、短横线(-)和英文句号(.),且首尾只能是数字或字母。

Conf

map<string,string>

{
"spark.executor.memory": "4G"
}

任务额外自定义的配置参数。

SqlText

string

select * from docdb.hivetable;

SQL 语句。

POSTApiV1AppCreateDeployRequest 数据结构

参数

类型

是否必填

示例值

说明

Priority

string

3

任务优先级。
支持 1~5 的优先级,数字越小优先级越高。
任务优先级决定了内部的调度顺序,优先级高的任务先被调度,如 L3 先于 L4 被调度。

ResourcePoolTrn

string

doc-resource-1-***226

任务运行资源池的唯一标识符。

SchedulePolicy

string

GANG

根据需求配置任务调度策略:

  • GANG:保证任务的所有实例被一起调度,即当剩余资源满足任务正常运行所需资源时才进行分配;不满足所需资源则不分配。
    该策略不会出现分配资源后,任务却不能启动的现象,解决了资源死锁问题。
  • DRF:从多维资源考虑,更为合理地将资源公平分配给资源池内的各个任务,从而提升利用率。
    例如:剩 余10 核 40 GB的资源,A 任务需要10 核 20 GB 资源;B 任务需要 2 核 8 GB 的资源。如果分配给 A 任务,剩余 0 核 20 GB 资源无法被利用 ;DRF 策略会选择分配给B任务,剩下 8 核 32 GB 可以继续给后来任务使用。

ScheduleTimeout

string

0

设置为 GANG 调度策略时,需要设置调度时长,单位为秒。
如果超过调度时长,作业就会调度失败。如果设置为0,则会一直重试。

POSTApiV1AppCreateDependency 数据结构

参数

类型

是否必填

示例值

说明

Archives

list

["file_id", "tos://***"]

Spark 任务的依赖文件,支持文件路径或元数据 ID。

Jars

list

["file_id", "tos://***"]

Spark 任务的依赖文件,支持文件路径或元数据 ID。

Files

list

["file_id", "tos://***"]

Spark 任务的依赖文件,支持文件路径或元数据 ID。

PyFiles

list

["file_id", "tos://***"]

Spark 任务的依赖文件,支持文件路径或元数据 ID。
仅 Spark Python 任务需要 PyFiles 类型的依赖文件。

返回参数

参数

类型

示例值

说明

ApplicationTrn

string

1646***3459458

任务 ID。

请求示例

POST https://open.volcengineapi.com?Action=CreateApplication&Version=2021-06-01
Content-Type: application/json
Region: cn-beijing
ServiceName: spark
{
    "ApplicationType": "SPARK_BATCH_SQL",
    "ProjectId": "w4***rd65",
    "ApplicationName": "spark-application-1",
    "DeployRequest": {
        "Priority": "3",
        "ResourcePoolTrn": "doc-resource-1-***226",
        "SchedulePolicy": "GANG",
        "ScheduleTimeout": "0"
    },
    "EngineVersion": "SPARK_VERSION_3_0_1_OS",
    "SqlText": "select * from `docdb`.`hivetable`;"
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "202304141712414E2A43BB8D74CF30107A",
        "Action": "CreateApplication",
        "Version": "2021-06-01",
        "Service": "spark",
        "Region": "cn-beijing"
    },
    "Result": {
        "ApplicationTrn": "1646***3459458"
    }
}