Spark SQL常用配置项说明
本章节为您介绍DLI 批作业SQL语法的常用配置项。
名称 |
默认值 |
描述 |
---|---|---|
spark.sql.files.maxRecordsPerFile |
0 |
要写入单个文件的最大记录数。如果该值为零或为负,则没有限制。 |
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 |
|
spark.sql.keep.distinct.expandThreshold |
- |
|
spark.sql.distinct.aggregator.enabled |
false |
|
dli.jobs.sql.resubmit.enable |
null |
通过设置该参数可以控制在driver故障、队列重启时Spark SQL作业是否重新提交。
|
spark.sql.dli.job.shareLevel |
Queue |
该配置项用于设置SQL语句的隔离级别,不同的隔离级别(job, user, project, queue)将决定SQL作业是由独立的Spark Driver和Executor执行,还是共享已经存在的Spark Driver和Executor。
说明:
上述所有隔离级别所能启动的最多spark driver数量(最大spark driver实例数)以及每个spark driver最多并发执行的SQL数量(单spark driver实例最大并发数),可以在队列属性中进行设置。 |