我有一个支持acid的、分区的、带bucked的配置单元表,我正在使用流式客户端向其写入。我看到在将记录写入分区时创建了几个delta文件。我想启用自动压缩,并尝试了以下基本参数和特定参数:
hive.support.concurrency=true
hive.enforce.bucketing=true
hive.exec.dynamic.partition.mode=nonstrict
hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
hive.compactor.initiator.on=true
hive.compactor.worker.threads=1
用,
hive.compactor.initiator.on=true
hive.compactor.cleaner.run.interval=5000ms
hive.compactor.delta.num.threshold=10
hive.compactor.delta.pct.threshold=0.1f
hive.compactor.abortedtxn.threshold=1000
hive.compactor.initiator.failed.compacts.threshold=2
hive.compactor.abortedtxn.threshold=1000
我这样做是希望能够实现主要的压缩。但是,我看到主压缩只会自动触发一次。i、 主压缩运行一次并创建一个基文件。一旦为该分区中的多个增量文件创建了一个基本文件,则不会进一步安排主要压缩,尽管此后有更多的增量文件流入该分区。如何启用表的自动主要压缩?以前有人遇到过类似的问题吗?
1条答案
按热度按时间e5njpo681#
我也有同样的问题,我找到的唯一解决方案是对每个分区运行手动压缩。
我还在想为什么会这样。