HIVE 3.1 - автоматическое крупное уплотнение, запускаемое только один раз на раздел - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть таблица кустов с включенной кислотой, с разделением на сегменты, в которую я пишу с помощью потокового клиента. Я вижу, что несколько дельта-файлов создаются, когда записи записываются в разделы. Я хотел включить автоматическое уплотнение и пробовал следующие базовые и конкретные параметры:

    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

Я сделал вышеизложенное с надеждой на , включив Major . Однако я вижу, что основное уплотнение запускается автоматически только один раз . Т.е. основное сжатие запускается один раз и создает базовый файл. После того, как базовый файл создан для ряда дельта-файлов в этом разделе, основное сжатие не планируется в дальнейшем, несмотря на то, что с тех пор в раздел перетекает больше дельта-файлов. Как включить автоматическое сжатие для таблицы? Кто-нибудь сталкивался с подобными проблемами раньше?

1 Ответ

0 голосов
/ 21 июня 2019

У меня та же проблема, и единственное решение, которое я нашел, это запустить ручное сжатие для каждого раздела.

ALTER TABLE myTable PARTITION (myPartitionColumn='myPartitionValue') COMPACT 'major';

Я все еще пытаюсь выяснить, почему это происходит.

...