Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

More compaction related options can be set via TBLPROPERTIES as of Hive 1.3.0 and 2.1.0. They can be set at either both table-level via CREATE TABLE, or and on request-level via ALTER TABLE/PARTITION COMPACT.

Code Block
titleExample: Set compaction options in TBLPROPERTIES at table - level
create table table_name (
  id                int,
  name              string
)
CLUSTERED BY (id) INTO 2 BUCKETS STORED AS ORC
TBLPROPERTIES ("transactional"="true",
"compactor.mapreduce.map.memory.mb"="2048", -- specify compaction map job properties
"compactorthreshold.hive.compactor.delta.num.threshold"="4", -- trigger minor compaction if there are more than 4 delta dirs
"compactorthreshold.hive.compactor.delta.pct.threshold"="0.5" -- trigger major compaction if the ratio of size of delta files to size of base files is greater than 50%
);
Code Block
titleExample: Set compaction options in TBLPROPERTIES at request - level
alter table table_name COMPACT 'minor' WITH OVERWRITE TBLPROPERTIES ("compactor.mapreduce.map.memory.mb"="3072"); -- specify compaction map job properties
alter table table_name COMPACT 'major' WITH OVERWRITE TBLPROPERTIES ("tblprops.orc.compress.size"="8192"); -- change any other Hive tblproperties

...