carbon.number.of.cores.while.loading
2
数据加载时所用到核的个数。
carbon.sort.size
100000
排序并将中间文件写入临时文件的记录条数。
carbon.max.driver.lru.cache.size
-1
数据在 driver 端加载的最大 LRU 缓存大小。这个值的单位是 MB。默认值为 -1,意味着没有缓存内存限制。这个属性只能配置大于 0 的值。
carbon.max.executor.lru.cache.size
-1
数据在 executor 端加载的最大 LRU 缓存大小。这个值的单位是 MB。默认值为 -1,意味着没有缓存内存限制。这个属性只能配置大于 0 的值。如果没有配置这个属性,则会使用 carbon.max.driver.lru.cache.size 属性配置的值。
carbon.merge.sort.prefetch
true
数据加载期间,从排序临时文件中读取数据,允许在合并排序期间启用预取数据功能。
carbon.update.persist.enable
true
持久化数据时启用此参数,启用它将减少 UPDATE 操作的执行时间。
carbon.load.global.sort.partitions
0
当对排序的数据进行 shuffling 时使用的分区数。如果用户没有配置或者将该属性配置成小于 1 的值,将使用 map 任务的数量作为 reduce 任务的数量。一般来说,建议集群中每个 CPU 核处理 2-3 个任务。
carbon.options.bad.records.logger.enable
false
是否创建坏记录详细信息的日志。
carbon.bad.records.action
FORCE
对坏记录主要有四种类型的操作:FORCE,REDIRECT,IGNORE 和 FAIL。如果设置为 FORCE,则通过将不良记录存储为 NULL 来自动更正数据。如果设置为 REDIRECT,则坏记录将被写入到 csv 文件中而不被加载。如果设置为 IGNORE,则坏记录既不会被写入到 csv 文件中,也不会被加载。如果设置为 FAIL,数据加载过程中遇到坏记录,则整个数据加载失败。
carbon.options.is.empty.data.bad.record
false
如果为 false,则空("" 或 '' 或 ,,)的数据不会被视为坏记录,反之亦然。
carbon.options.bad.record.path
存储坏记录的 HDFS 路径。默认情况下这个属性的值为 Null。如果启用了坏记录详细信息日志功能或坏记录操作被重定向,则用户必须配置这个属性。
carbon.enable.vector.reader
true
该参数提高了 select 查询的性能,因为它可以一次读取 4*1024 行的数据,而不是逐行读取数据。
carbon.blockletgroup.size.in.mb
64 MB
数据读取以 blocklets 为单位,这些 blocklets 称为 blocklet groups。这个参数指定 blocklet groups 的大小。较高的值会导致更好的顺序 IO 访问。最小值为 16MB,小于 16MB 的任何值都将被重置为默认值(64MB)。
carbon.task.distribution
block
block: 设置此值将为每个块启动一个任务处理。在并发查询且查询具有 shuffling 过程的场景下建议使用此设置。
custom: 设置此值将对块进行分组并将块均匀地分配到集群中可用的资源。这个设置提升了查询性能,但在并发查询且查询具有很多 shuffling 过程的场景下不建议使用此设置。
blocklet: 设置此值将为每个 blocklet 启动一个任务处理。在并发查询且查询具有很多 shuffling 过程的场景下建议使用此设置。
merge_small_files: 设置此值将在查询过程中将所有小分区合并成大小为 128 MB(128MB 是 "spark.sql.files.maxPartitionBytes" 参数的默认值,这个参数是可配置的)。小分区被组合到一个 map 任务中,以减少读取任务的数量。 这个可以提升性能。