Hive 压缩未自动触发 - HDP_2.6.5
Hive compactions not triggered automatically - HDP_2.6.5
我在配置单元中创建了一个 table 来测试压缩,
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');
在屏幕截图中我们可以看到创建了许多增量目录(大约 12 个文件)。
压缩是自动启动的,但它不是 运行 或正在压缩增量 directories.The 以下是我们在 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 中我们可以看到压缩状态为已启动但超过一天未执行。
我们如何使压实工作?我们需要设置任何其他属性吗?
你能检查一下你的蜂巢站点配置吗,属性 of 'Number of threads used by Compactor'
如果它是 0 则将其更改为大于 0(可能是 2)。然后使用 'show compactions;'.
检查压缩状态
我在配置单元中创建了一个 table 来测试压缩,
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');
在屏幕截图中我们可以看到创建了许多增量目录(大约 12 个文件)。
压缩是自动启动的,但它不是 运行 或正在压缩增量 directories.The 以下是我们在 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 中我们可以看到压缩状态为已启动但超过一天未执行。 我们如何使压实工作?我们需要设置任何其他属性吗?
你能检查一下你的蜂巢站点配置吗,属性 of 'Number of threads used by Compactor'
如果它是 0 则将其更改为大于 0(可能是 2)。然后使用 'show compactions;'.
检查压缩状态