创建并执行Spark SQL批任务

最近更新时间:2024-06-12 01:40:09

我的收藏

1. 接口描述

接口请求域名: dlc.tencentcloudapi.com 。

本接口(CreateSparkSessionBatchSQL)用于向Spark作业引擎提交Spark SQL批任务。

默认接口请求频率限制:30次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateSparkSessionBatchSQL。
Version String 公共参数,本接口取值:2021-01-25。
Region String 公共参数,详见产品支持的 地域列表
DataEngineName String DLC Spark作业引擎名称
示例值:data_engine_1
ExecuteSQL String 运行sql,需要base64编码。
示例值:select 1;
DriverSize String 指定的Driver规格,当前支持:small(默认,1cu)、medium(2cu)、large(4cu)、xlarge(8cu)
示例值:small
ExecutorSize String 指定的Executor规格,当前支持:small(默认,1cu)、medium(2cu)、large(4cu)、xlarge(8cu)
示例值:small
ExecutorNumbers Integer 指定的Executor数量,默认为1
示例值:1
ExecutorMaxNumbers Integer 指定的Executor数量(最大值),默认为1,当开启动态分配有效,若未开启,则该值等于ExecutorNumbers
示例值:1
TimeoutInSecond Integer 指定的Session超时时间,单位秒,默认3600秒
示例值:10
SessionId String Session唯一标识,当指定sessionid,则使用该session运行任务。
示例值:d3018ad4-9a7e-4f64-a3f4-f38507c69742
SessionName String 指定要创建的session名称
示例值:testSession
Arguments.N Array of KVPair Session相关配置,当前支持:1.dlc.eni:用户配置的eni网关信息,可以用过该字段设置;
2.dlc.role.arn:用户配置的roleArn鉴权策略配置信息,可以用过该字段设置;
3.dlc.sql.set.config:用户配置的集群配置信息,可以用过该字段设置;
示例值:["eni":"test_eni"]
IsInherit Integer 是否继承集群的资源类配置:0:不继承(默认),1:继承集群;
示例值:0
CustomKey String 用户自定义主键,需唯一
示例值:dje8ed4-9a7e-4f64-a3f4-f38507c69742

3. 输出参数

参数名称 类型 描述
BatchId String 批任务唯一标识
示例值:d3018ad4-9a7e-4f64-a3f4-f38507c69742
Statements Array of StatementInformation Statement任务列表信息
注意:此字段可能返回 null,表示取不到有效值。
示例值:复杂类型
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建并执行Spark SQL批任务

本接口(CreateSparkSessionBatchSQL)用于向Spark作业引擎提交Spark SQL批任务

输入示例

POST / HTTP/1.1
Host: dlc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateSparkSessionBatchSQL
<公共请求参数>

{
    "DataEngineName": "data_engine_1",
    "ExecuteSQL": "c2VsZWN0IDE=",
    "DriverSize": "small",
    "ExecutorSize": "small",
    "ExecutorNumbers": 1,
    "ExecutorMaxNumbers": 1,
    "TimeoutInSecond": 2,
    "SessionId": "",
    "SessionName": "livy-session-123",
    "Arguments": [
        {
            "Value": "eni",
            "Key": "test_eni"
        }
    ]
}

输出示例

{
    "Response": {
        "BatchId": "d3018ad4-9a7e-4f64-a3f4-f38507c69742",
        "Statements": [
            {
                "TaskId": "098923ea-d6c0-4cd9-bbed-2e90c9cf04dc",
                "SQL": "select 1;"
            }
        ],
        "RequestId": "b8sd7dd7-ekd4-4e5e-993e-e5db64fa21c1"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation 操作失败。
FailedOperation.NoPermissionToUseTheDataEngine 用户没有指定引擎的使用权限
InternalError 内部错误。
InternalError.InternalSystemException 业务系统异常,请重试或提工单联系我们。
InvalidParameter 参数错误。
InvalidParameter.BatchSQLCustomKeyNotUnique 指定的交互式SQL任务自定义主键不唯一
InvalidParameter.DataEngineOnlySupportSparkBatch 当前任务仅支持Spark批作业引擎运行
InvalidParameter.ImageEngineTypeNotMatch 指定引擎类型不匹配,当前仅支持: SparkSQL, PrestoSQL, SparkBatch
InvalidParameter.ImageIsPublicNotMatch 指定isPublic不匹配,当前仅支持: 1:公共, 2:私有
InvalidParameter.ImageParameterSubmitMethodNotMatch 指定集群镜像ParameterSubmitMethod不匹配,当前仅支持: User, BackGround
InvalidParameter.ImageParameterTypeNotMatch 指定集群镜像ParameterType不匹配,当前仅支持: 1: session , 2: common, 3: cluster
InvalidParameter.ImageStateNotMatch 指定state不匹配,当前仅支持: 1:初始化, 2:上线, 3:下线
InvalidParameter.InvalidDriverSize 当前DriverSize规格仅支持: small/medium/large/xlarge/m.small/m.medium/m.large/m.xlarge
InvalidParameter.InvalidDynamicAllocationMaxExecutors 指定Excutor动态数量必须为当前最大值
InvalidParameter.InvalidExecutorSize 当前ExecutorSize规格仅支持: small/medium/large/xlarge/m.small/m.medium/m.large/m.xlarge
InvalidParameter.InvalidFileCompressionFormat 指定的文件压缩格式不合规,当前仅支持: tar.gz/tar/tgz
InvalidParameter.InvalidFilePathFormat 指定的文件路径格式不合规,当前仅支持:cosn://或lakefs://
InvalidParameter.InvalidSQL SQL解析失败。
InvalidParameter.InvalidSessionKindType 当前Session仅支持: spark/pyspark/sparkr/sql类型
InvalidParameter.InvalidStatementKindType 当前Statement仅支持sql类型
InvalidParameter.InvalidWhiteListKey 获取白名单错误,请重试,或者提交工单联系我们
InvalidParameter.NumberOfSQLExceedsTheLimit 提交的SQL数量范围限制为1~50
InvalidParameter.ParameterNotFoundOrBeNone 找不到参数或参数为空
InvalidParameter.SQLBase64DecodeFail SQL脚本Base64解析失败
InvalidParameter.SQLParameterPreprocessingFailed SQL参数预处理失败
ResourceNotFound 资源不存在。
ResourceNotFound.DataEngineNotFound 指定的引擎不存在
ResourceNotFound.DataEngineNotRunning 指定的引擎未处于运行中
ResourceNotFound.DataEngineNotUnique 指定的引擎已存在
ResourceNotFound.ImageSessionConfigNotFound 指定集群镜像Session配置不存在
ResourceNotFound.ImageSessionConfigNotUnique 指定集群镜像Session配置已存在
ResourceNotFound.ImageVersionNotFound 指定集群镜像版本不存在
ResourceNotFound.ResultSavePathNotFound 获取结果存储路径失败,请到控制台->数据探索页面设置
ResourceNotFound.RoleArnResourceNotFound 指定RoleArn不存在
ResourceNotFound.SessionInsufficientResources 当前无资源创建session,请稍后重试或使用包年包月集群。
ResourceNotFound.SessionNotFound session不存在。
ResourceNotFound.SessionStateDead session已消亡。
ResourceNotFound.ShuffleDirNotFound 找不到Spark Shuffle存储路径,请到控制台->数据探索页面->存储配置中设置
ResourceNotFound.WarehouseDirNotFound 找不到Warehouse存储路径,请到控制台->数据探索页面->存储配置中设置