云服务器内容精选
-
请求示例 提交SQL作业,该作业执行的数据库为db1、队列为default,并为该作业设置标签workspace=space1;jobName=name1。 { "currentdb": "db1", "sql": "desc table1", "queue_name": "default", "conf": [ "dli.sql.shuffle.partitions = 200" ], "tags": [ { "key": "workspace", "value": "space1" }, { "key": "jobName", "value": "name1" } ] }
-
响应示例 { "is_success": true, "message": "", "job_id": "8ecb0777-9c70-4529-9935-29ea0946039c", "job_type": "DDL", "job_mode":"sync", "schema": [ { "col_name": "string" }, { "data_type": "string" }, { "comment": "string" } ], "rows": [ [ "c1", "int", null ], [ "c2", "string", null ] ] }
-
请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 sql 是 String 待执行的SQL语句。 currentdb 否 String SQL语句执行所在的数据库。当创建新数据库时,不需要提供此参数。 current_catalog 否 String 待提交作业的表的默认catalog。不填时默认使用 DLI catalog。 queue_name 否 String 待提交作业的队列名称,名称只能包含数字、英文字母和下划线,但不能是纯数字,且不能以下划线开头。 conf 否 Array of Strings 用户以“key/value”的形式设置用于此作业的配置参数。目前支持的配置项请参考表3。 tags 否 Array of Objects 作业的标签。具体请参考表4。 engine_type 否 String 选择执行作业的引擎类型。 表3 conf参数说明 参数名称 默认值 描述 spark.sql.files.maxRecordsPerFile 0 要写入单个文件的最大记录数。如果该值为零或为负,则没有限制。 spark.sql.autoBroadcastJoinThreshold 209715200 配置执行连接时显示所有工作节点的表的最大字节大小。通过将此值设置为“-1”,可以禁用显示。 说明: 当前仅支持运行命令ANALYZE TABLE COMPUTE statistics noscan的配置单元元存储表,和直接根据数据文件计算统计信息的基于文件的数据源表。 spark.sql.shuffle.partitions 200 为连接或聚合过滤数据时使用的默认分区数。 spark.sql.dynamicPartitionOverwrite.enabled false 当前配置设置为“false”时,DLI在覆盖写之前,会删除所有符合条件的分区。例如,分区表中有一个“2021-01”的分区,当使用INSERT OVERWRITE语句向表中写入“2021-02”这个分区的数据时,会把“2021-01”的分区数据也覆盖掉。 当前配置设置为“true”时,DLI不会提前删除分区,而是在运行时覆盖那些有数据写入的分区。 spark.sql.files.maxPartitionBytes 134217728 读取文件时要打包到单个分区中的最大字节数。 spark.sql.badRecordsPath - Bad Records的路径。 spark.sql.legacy.correlated.scalar.query.enabled false 该参数设置为true: 当子查询中数据不重复的情况下,执行关联子查询,不需要对子查询的结果去重。 当子查询中数据重复的情况下,执行关联子查询,会提示异常,必须对子查询的结果做去重处理,比如max(),min()。 该参数设置为false: 不管子查询中数据重复与否,执行关联子查询时,都需要对子查询的结果去重,比如max(),min(),否则提示异常。 dli.jobs.sql.resubmit.enable null 通过设置该参数可以控制在driver故障、队列重启时Spark SQL作业是否重新提交。 false:禁用作业重试,所有类型的命令都不重新提交,一旦driver故障,作业将标记为失败(FAILED)。 true:启用作业重试,即在driver故障时,所有类型的作业都将重新提交。 注意: 如果配置为true,在执行INSERT等幂等类型的操作时(例如insert into,load data、update),可能会导致数据一致性问题。即driver故障后作业重试,导致driver故障前已插入的数据被重复写入。 spark.sql.optimizer.dynamicPartitionPruning.enabled true 该配置项用于启用或禁用动态分区修剪。在执行SQL查询时,动态分区修剪可以帮助减少需要扫描的数据量,提高查询性能。 配置为true时,代表启用动态分区修剪,SQL会在查询中自动检测并删除那些不满足WHERE子句条件的分区,适用于在处理具有大量分区的表时。 如果SQL查询中包含大量的嵌套left join操作,并且表有大量的动态分区时,这可能会导致在数据解析时消耗大量的内存资源,导致Driver节点的内存不足,并触发频繁的Full GC。 在这种情况下,可以配置该参数为false即禁用动态分区修剪优化,有助于减少内存使用,避免内存溢出和频繁的Full GC。 但禁用此优化可能会降低查询性能,禁用后Spark将不会自动修剪掉那些不满足条件的分区。 表4 tags参数 参数名称 是否必选 参数类型 说明 key 是 String 标签的键。 说明: 标签的键的最大长度为128个字符,标签的键可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格,不能以_sys_开头。 value 是 String 说明: 标签值的最大长度为255个字符,标签的值可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格。
-
响应消息 表5 响应参数 参数名称 是否必选 参数类型 说明 is_success 是 Boolean 请求发送是否成功。“true”表示请求发送成功。 message 是 String 系统提示信息,执行成功时,信息可能为空。 job_id 是 String 此SQL语句将生成并提交一个新作业,返回此作业的ID,可用于获取作业状态和作业结果。 job_type 是 String 作业类型。 DDL DCL IMPORT EXPORT QUERY INSERT schema 否 Array of Map 当语句类型为DDL时,返回其结果的列名称及类型。 rows 否 Array of objects 当语句类型为DDL,且dli.sql.sqlasync.enabled=false时,直接返回其执行结果。但是最多只能返回1000行。 如果超过1000行,请通过异步方式获取结果。即,提交作业时配置 xxxx = true, 然后从DLI配置的作业桶中获取结果。结果在作业桶上的路径可以通过ShowSqlJobStatus接口返回值中的result_path来获取。结果的全量数据会自动导出到作业桶。 job_mode 否 String 作业执行模式: async:异步 sync:同步
-
功能介绍 该API用于通过执行SQL语句的方式向队列提交作业。 作业包含以下类型:DDL、DCL、IMPORT、QUERY和INSERT。其中,IMPORT与导入数据(废弃)的功能一致,区别仅在于实现方式不同。 另外,用户可使用其他API来对作业进行查询和管理。具体操作有: 查询作业状态 查询作业详细信息 查询作业结果-方式二(废弃) 导出查询结果 查询所有作业 取消作业(推荐) 该API当响应消息中“job_type”为“DCL”时,为同步操作。
-
请求示例 更新已有的SQL作业,更新后的作业名称为myjob,以共享模式运行在testQueue上。 { "name": "myjob", "desc": "这是我的第一个作业", "queue_name": "testQueue", "sql_body": "select * from source_table", "run_mode": "shared_cluster", "cu_number": 4, "parallel_number": 4, "checkpoint_enabled": false, "checkpoint_mode": "exactly_once", "checkpoint_interval": 10, "obs_bucket": "", "log_enabled": false, "smn_topic": "", "restart_when_exception": false, "idle_state_retention": 3600, "edge_group_ids": [ "62de1e1c-066e-48a8-a79d-f461a31b2ee1", "2eb00f85-99f2-4144-bcb7-d39ff47f9002" ], "dirty_data_strategy": "0", "udf_jar_url": "group/test.jar" }
-
请求消息 表2 请求参数说明 参数名称 是否必选 参数类型 说明 name 否 String 作业名称。长度限制:0-57个字符。 desc 否 String 作业描述。长度限制:0-512个字符。 queue_name 否 String 队列名称。长度限制:0-128个字符。 sql_body 否 String Stream SQL语句,至少包含source, query, sink三个部分。长度限制:0-1024*1024个字符。 run_mode 否 String 作业运行模式: shared_cluster:共享。 exclusive_cluster:独享。 edge_node:边缘节点。 默认值为“shared_cluster”。 cu_number 否 Integer 用户为作业选择的CU数量。默认值为“2”。 parallel_number 否 Integer 用户设置的作业并行数目。默认值为“1”。 checkpoint_enabled 否 Boolean 是否开启作业自动快照功能。 开启:true 关闭:false 默认:false checkpoint_mode 否 Integer 快照模式,。两种可选: 1:表示exactly_once,数据只被消费一次。 2:at_least_once,数据至少被消费一次。 默认值为1。 checkpoint_interval 否 Integer 快照时间间隔。单位为秒,默认值为“10”。 obs_bucket 否 String 当“checkpoint_enabled”为“true”时,该参数是用户授权保存快照的OBS桶名称。 当“log_enabled” 为“true”时,该参数是用户授权保存作业日志的OBS桶名称。 log_enabled 否 Boolean 是否开启作业的日志上传到用户的OBS功能。默认为“false”。 smn_topic 否 String 当作业异常时,向该 SMN 主题推送告警信息。 restart_when_exception 否 Boolean 是否开启作业异常自动重启。默认为“false”。 idle_state_retention 否 Integer 空闲状态过期周期,单位为秒,默认值为“3600”。 edge_group_ids 否 Array of Strings 边缘计算组ID列表, 多个ID以逗号分隔。 dirty_data_strategy 否 String 作业脏数据策略。 “2:obsDir”:保存,obsDir表示脏数据存储路径。 “1”:抛出异常。 “0”:忽略。 默认值为“0”。 udf_jar_url 否 String 用户已上传到DLI资源管理系统的资源包名,用户sql作业的udf jar通过该参数传入。 manager_cu_number 否 Integer 用户为作业选择的管理单元(jobmanager)CU数量,默认值为“1”。 tm_cus 否 Integer 每个taskmanager的CU数,默认值为“1”。 tm_slot_num 否 Integer 每个taskmanager的slot数,默认值为“(parallel_number*tm_cus)/(cu_number-manager_cu_number)”。 operator_config 否 String 算子的并行度配置。 resume_checkpoint 否 Boolean 异常重启是否从checkpoint恢复。 resume_max_num 否 Integer 异常重试最大次数,单位:次/小时。取值范围:-1或大于0。默认值为“-1”,表示无限次数。 static_estimator_config 否 String 每个算子的流量/命中率配置,json格式的字符串。例如: {"operator_list":[{"id":"0a448493b4782967b150582570326227","rate_factor":0.55},{"id":"6d2677a0ecc3fd8df0b72ec675edf8f4","rate_factor":1},{"id":"ea632d67b7d595e5b851708ae9ad79d6","rate_factor":0.55},{"id":"bc764cd8ddf7a0cff126f51c16239658","output_rate":2000}]} runtime_config 否 String Flink作业运行时自定义优化参数。 flink_version 否 String Flink版本。当前只支持1.10和1.12。
-
响应消息 表6 响应参数 参数名称 是否必选 参数类型 说明 id 否 String 批处理作业的ID。 appId 否 String 批处理作业的后台app ID。 name 否 String 创建时用户指定的批处理名称,不能超过128个字符。 owner 否 String 批处理作业所属用户。 proxyUser 否 String 批处理作业所属代理用户(资源租户)。 state 否 String 批处理作业的状态,详细说明请参见表7。 kind 否 String 批处理作业类型,只支持spark类型参数。 log 否 Array of strings 显示当前批处理作业的最后10条记录。 sc_type 否 String 计算资源类型。用户自定义时返回CUSTOMIZED。 cluster_name 否 String 批处理作业所在队列。 queue 是 String 用于指定队列,填写已创建DLI的队列名。 说明: 兼容“cluster_name”参数,即如果使用“cluster_name”指定队列仍然有效。 推荐使用“queue”参数,“queue”参数与“cluster_name”参数两者不能同时存在。 image 否 String 自定义镜像 。格式为:组织名/镜像名:镜像版本。 当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Spark镜像。关于如何使用自定义镜像,请参考《 数据湖探索 用户指南》。 create_time 否 Long 批处理作业的创建时间。是单位为“毫秒”的时间戳。 update_time 否 Long 批处理作业的更新时间。是单位为“毫秒”的时间戳。 duration 否 Long 作业运行时长,单位毫秒。 表7 批处理作业状态说明 参数名称 参数类型 说明 starting String 批处理作业正在启动。 running String 批处理作业正在执行任务。 dead String 批处理作业已退出。 success String 批处理作业执行成功。 recovering String 批处理作业正在恢复。
-
请求示例 创建Spark作业,作业的Spark主类为“org.apache.spark.examples.SparkPi”,指定程序包batchTest/spark-examples_2.11-2.1.0.luxor.jar,并加载上传到DLI类型为jar的程序号和类型为files的资源包。 { "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", "feature": "basic", "spark_version": "2.3.2" } 其中“batchTest/spark-examples_2.11-2.1.0.luxor.jar”已提前通过上传分组资源(废弃)接口上传。
-
响应示例 { "id": "07a3e4e6-9a28-4e92-8d3f-9c538621a166", "appId": "", "name": "", "owner": "test1", "proxyUser": "", "state": "starting", "kind": "", "log": [], "sc_type": "CUSTOMIZED", "cluster_name": "aaa", "queue": "aaa", "image": "", "create_time": 1607589874156, "update_time": 1607589874156 }
-
请求消息 表2 请求参数 参数名称 是否必选 参数类型 说明 file 是 String 用户已上传到DLI资源管理系统的类型为jar或pyFile的程序包名。也支持指定OBS路径,例如:obs://桶名/包名。 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的程序包名。也支持指定OBS路径,例如:obs://桶名/包名。 pyFiles 否 Array of Strings 用户已上传到DLI资源管理系统的类型为pyFile的资源包名。也支持指定OBS路径,例如:obs://桶名/包名。 files 否 Array of Strings 用户已上传到DLI资源管理系统的类型为file的资源包名。也支持指定OBS路径,例如:obs://桶名/包名。 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 Objects JSON对象列表,填写用户已上传到队列的类型为JSON的资源包名和类型。具体请见表4。 groups 否 Array of Objects JSON对象列表,填写用户组类型资源,格式详见请求示例。如果“resources”中的“name”未进行type校验,只要此分组中存在这个名字的包即可。具体请见表5。 conf 否 Object 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桶名,需要保存作业时配置该参数。 auto_recovery 否 Boolean 是否开启重试功能,如果开启,可在Spark作业异常失败后自动重试。默认值为“false”。 max_retry_times 否 Integer 最大重试次数。最大值为“100”,默认值为“20”。 feature 否 String 作业特性。表示用户作业使用的Spark镜像类型。 custom:表示使用用户自定义的Spark镜像。 spark_version 否 String 作业使用Spark组件的版本号。 如果当前Spark组件版本为2.3.2,则不填写该参数。 image 否 String 自定义镜像。格式为:组织名/镜像名:镜像版本。 当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Spark镜像。关于如何使用自定义镜像,请参考《 数据湖 探索用户指南》。 catalog_name 否 String 访问元数据时,需要将该参数配置为dli。 表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 资源名称。也支持指定OBS路径,例如:obs://桶名/包名。 type 否 String 资源类型。 表5 groups参数说明 参数名称 是否必选 参数类型 说明 name 否 String 用户组名称。 resources 否 Array of Objects 用户组资源。具体请参考表4。
-
响应消息 表3 响应参数说明 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 请求是否成功。 message 否 String 消息内容。 metrics 否 Object 作业列表信息。具体请参考表4。 表4 payload参数说明 参数名称 是否必选 参数类型 说明 jobs 否 Array of Objects 所有作业监控信息。具体请参考表5。 表5 jobs参数说明 参数名称 是否必选 参数类型 说明 job_id 否 Long 作业ID。 metrics 否 Object 作业的所有输入输出监控信息。具体请参考表6。 表6 metrics参数说明 参数名称 是否必选 参数类型 说明 sources 否 Array of Objects 所有输入流。请参见表7。 sinks 否 Array of Objects 所有输出流。请参见表7。 total_read_rate 否 Double 总输入速率。 total_write_rate 否 Double 总输出速率。 表7 source/sinks参数说明 参数名称 是否必选 参数类型 说明 name 否 String 输入流或输出流名称。 records 否 Long 总记录数。 corrupted_records 否 Long 脏数据记录数。
-
示例 请求样例 { "job_ids": [298765, 298766] } 响应样例 { "is_success": true, "message": "消息内容", "metrics": { "jobs": [ { "job_id": 0, "metrics": { "sources": [ { "name": "Source: KafKa_6070_KAFKA_SOURCE", "records": 0, "corrupted_records": 0 } ], "sinks": [ { "name": "Source: KafKa_6070_KAFKA_SOURCE", "records": 0, "corrupted_records": 0 } ], "total_read_rate": 100, "total_write_rate": 100 } } ] } }
-
请求示例 使用ID为100000的模板创建名为myjob的Flink SQL作业,该作业执行在testQueue队列上以独享的模式运行。 { "name": "myjob", "desc": "这是个做字符记数的作业", "template_id": 100000, "queue_name": "testQueue", "sql_body": "select * from source_table", "run_mode": "exclusive_cluster", "cu_number": 2, "parallel_number": 1, "checkpoint_enabled": false, "checkpoint_mode": "exactly_once", "checkpoint_interval": 0, "obs_bucket": "my_obs_bucket", "log_enabled": false, "restart_when_exception": false, "idle_state_retention": 3600, "job_type": "flink_sql_job", "dirty_data_strategy": "0", "udf_jar_url": "group/test.jar" }
-
响应消息 表4 响应参数说明 参数名称 是否必选 参数类型 说明 is_success 否 String 执行请求是否成功。“true”表示请求执行成功。 message 否 String 消息内容。 job 否 Object 作业状态信息。具体请参考表5。 表5 job参数说明 参数名称 是否必选 参数类型 说明 job_id 是 Long 作业ID。 status_name 否 String 当前状态名称。参数说明可以参考查询作业详情中status作业状态字段说明。 status_desc 否 String 当前状态描述。包含异常状态原因及建议。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格