更新时间:2022-09-30 GMT+08:00

如何避免对历史数据进行minor compaction?

问题

如何避免对历史数据进行minor compaction?

回答

如果要先加载历史数据,后加载增量数据,则以下步骤可避免对历史数据进行minor compaction:

  1. 加载所有历史数据。
  2. 将major compaction大小配置为小于历史数据segment大小的值。
  3. 对历史数据进行一次major compaction,之后将不会考虑这些segments进行minor compaction。
  4. 加载增量数据。
  5. 用户可以根据自己的需要配置minor compaction阈值。

配置示例和预期输出:

  1. 用户将所有历史数据加载到CarbonData,此数据的一个segment的大小假定为500GB。
  2. 用户设置major compaction参数的阈值:“carbon.major.compaction.size” = “491520(480gb * 1024)”。其中,491520可配置。
  3. 运行major compaction。由于每个segment的大小超过配置值的大小,因此这些segments将会被压缩。
  4. 加载增量负载。
  5. 配置minor compaction参数的阈值:“compaction.level.threshold” = “6,6”
  6. 运行minor compaction。此时只考虑增量负载。