Á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)