数据湖探索 DLI-提交SQL作业(推荐):请求消息
请求消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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 |
选择执行作业的引擎类型。 |
参数名称 |
默认值 |
描述 |
---|---|---|
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 |
|
dli.jobs.sql.resubmit.enable |
null |
通过设置该参数可以控制在driver故障、队列重启时Spark SQL作业是否重新提交。
|
spark.sql.optimizer.dynamicPartitionPruning.enabled |
true |
该配置项用于启用或禁用动态分区修剪。在执行SQL查询时,动态分区修剪可以帮助减少需要扫描的数据量,提高查询性能。 |