我在 hive 中创建了一个表来测试压缩,

CREATE TABLE part_test(id int, name string, city string) PARTITIONED BY (dept string)  clustered by (city) into 5 buckets stored as orc TBLPROPERTIES('transactional'='true');

hadoop - 配置单元压缩不会自动触发-HDP_2.6.5-LMLPHP

在屏幕截图中,我们可以看到创建了许多增量目录(大约12个文件)。

压缩会自动启动,但无法运行或无法压缩增量目录。以下是我们在 hive 中设置的属性。
set hive.compactor.initiator.on=true;
set hive.compactor.worker.threads=1;
set hive.compactor.delta.pct.threshold=0.1f;
set hive.compactor.delta.num.threshold=10;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.enforce.bucketing=true;

在屏幕截图2中,我们可以看到压缩状态为已启动但未执行超过一天。
我们如何使压实工作?我们还需要设置其他属性吗?

hadoop - 配置单元压缩不会自动触发-HDP_2.6.5-LMLPHP

最佳答案

您是否可以检查配置单元站点配置,即“Compactor使用的线程数”的属性

如果为0,则将其更改为大于0(也许为2)。然后使用“显示压缩”检查压缩状态。

关于hadoop - 配置单元压缩不会自动触发-HDP_2.6.5,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59151209/

10-16 08:31