Ádám Szita created HIVE-22661: --------------------------------- Summary: Compaction fails on non bucketed table with data loaded inpath Key: HIVE-22661 URL: https://issues.apache.org/jira/browse/HIVE-22661 Project: Hive Issue Type: Bug Reporter: Ádám Szita Assignee: Ádám Szita
Compaction cannot handle situations where: * data was ingested with {{LOAD DATA INPATH}} * this ingest method is run multiple times ** with different number of files getting created in the delta directories Therefor, for file/dir structures such as: {code:java} /warehouse/tablespace/managed/hive/comp3/delta_0000001_0000001_0000 /warehouse/tablespace/managed/hive/comp3/delta_0000001_0000001_0000/000000_0 /warehouse/tablespace/managed/hive/comp3/delta_0000001_0000001_0000/000001_0 /warehouse/tablespace/managed/hive/comp3/delta_0000002_0000002_0000 /warehouse/tablespace/managed/hive/comp3/delta_0000002_0000002_0000/000000_0 /warehouse/tablespace/managed/hive/comp3/delta_0000002_0000002_0000/000001_0 /warehouse/tablespace/managed/hive/comp3/delta_0000002_0000002_0000/000002_0 {code} Although the table is not bucketed, bucket is calculated from the (raw) files' names. Compaction in the above case will fail on delta1-1 not having data for 'bucket' 2. Steps to repro using small dataset: {code:java} set tez.grouping.min-size=8; set tez.grouping.max-size=8; set mapreduce.input.fileinputformat.split.minsize=8; set mapreduce.input.fileinputformat.split.minsize=8; create external table comp0 (a string); insert into comp0 values ("qwertyuiopasdfghjklzxcvbnm"); insert into comp0 values ("qwertyuiopasdfghjklzxcvbnm"); create external table comp1 stored as orc as select * from comp0; insert into comp0 values ("qwertyuiopasdfghjklzxcvbnm"); create external table comp2 stored as orc as select * from comp0; create table comp3 (a string); load data inpath '/warehouse/tablespace/external/hive/comp1' into table comp3; load data inpath '/warehouse/tablespace/external/hive/comp2' into table comp3;{code} -- This message was sent by Atlassian Jira (v8.3.4#803005)