HIVE 3.1 - автоматическое крупное уплотнение, запускаемое только один раз на раздел
У меня есть таблица кустов с включенной кислотой, с разделением на сегменты, в которую я пишу с помощью потокового клиента. Я вижу, что несколько дельта-файлов создаются, когда записи записываются в разделы. Я хотел включить автоматическое сжатие и попробовал следующие базовые и конкретные параметры:
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
Я сделал это с надеждой на возможность крупного уплотнения. Однако я вижу, что основное уплотнение запускается автоматически только один раз. т.е. основное сжатие выполняется один раз и создает базовый файл. После того, как базовый файл создан для ряда дельта-файлов в этом разделе, основное сжатие не планируется в дальнейшем, несмотря на то, что с тех пор в раздел перетекает больше дельта-файлов. Как включить автоматическое сжатие для таблицы? Кто-нибудь сталкивался с подобными проблемами раньше?
0 ответов
У меня такая же проблема, и единственное решение, которое я нашел, - это выполнить ручное сжатие для каждого раздела.
ALTER TABLE myTable PARTITION (myPartitionColumn='myPartitionValue') COMPACT 'major';
Я все еще пытаюсь понять, почему так происходит.