每个数据源中segments分区规则会对磁盘占用和性能产生重大影响。
三种分区方式:
- dynamic:摄入速度最快,根据段中的行数进行分区。
- hashed :摄入速度中等,基于分区dimension的哈希值进行分区,可以减少数据源大小和查询延迟。
- -single_dim:摄入速度最慢, 根据分区dimension的值进行范围分区,查询速度最快。
hashed分区参数设置:
- numShards 指定要创建的分片数。如果已指定intervals和granularitySpec,则索引任务可以跳过确定通过数据的间隔/分区。
- targetRowsPerSegment 每个分区的目标行数。如果没有指定numShards,Parallel任务将自动确定分区计数量,让每个分区的行数都比较接近,均匀分布。如果numShards和targetRowsPerSegment没有设置,默认每个segments行数500万。
- partitionDimensions 需要计算哈希值的dimension,默认全部。
- partitionFunction 默认murmur3_32_abs,计算分区哈希值时使用的函数。
任务开提交后会控制台出现三种类型的任务:
注意:使用hash分区后Append to existing功能将无法使用