07 配置优化

carbon.sort.intermediate.files.limit

  • Data loading
    在加载数据期间,使用本地temp来对数据进行排序。 此数字指定必须启动合并排序之后的最小中间文件数。
    增加参数到一个更高的值将提高负载性能。 例如,当我们将数值从20增加到100时,它将数据负载性能从35MB / S提高到超过50MB / S。 在加载过程中,此参数值越高,内存消耗越多。

carbon.number.of.cores.while.loading

  • Data loading
    指定在CarbonData中加载数据期间用于数据处理的内核数量。
    如果你有更多的CPU数量,那么你可以增加CPU的数量,这会提高性能。 例如,如果我们将值从2增加到4,则CSV读取性能可以增加约1倍

carbon.compaction.level.threshold

  • Data loading and Querying
    每次CarbonData load 将创建一个分段,如果每个负载都很小,则会在一段时间内生成许多影响查询性能的小文件。 配置此参数将把小段合并到一个大段,这将对数据进行排序并提高性能。

spark.sql.shuffle.partitions

这个值可以是executo core的1到2倍。 在聚合场景中,将数量从200减少到32将查询时间从17秒减少到9秒。

spark.executor.instances/spark.executor.cores/spark.executor.memory

carbon.detail.batch.size

  • Data loading
    用于存储从block扫描返回记录的缓冲区大小。
    在limit查询情况下,这个参数非常重要。 例如,您的查询limit是1000.但是,如果我们将此值设置为3000,则意味着我们从扫描中获得3000条记录,但spark只会取1000行。 所以剩下的2000年是没用的。 在一个财务测试用例中,在limit 1000情况下,设置成12000比设置成100性能提高了约2倍。

carbon.use.local.dir

  • Data loading
    如果设置为true,则CarbonData将使用YARN本地目录进行多表加载磁盘负载平衡(multi-table load disk load balance,),这将提高数据加载性能。

carbon.use.multiple.temp.dir

在表数据加载期间是否使用多个YARN本地目录来实现磁盘负载平衡

启用’carbon.use.local.dir’后,如果设置为true,则CarbonData会在数据加载期间使用所有YARN本地目录进行磁盘负载平衡,这将提高数据加载性能。 数据加载时遇到磁盘热点问题,请启用此属性。

注意:如果您的CarbonData实例仅用于查询,您可以指定spark属性目录下的spark.speculation = true属性。

你可能感兴趣的:(carbondata)