Sankar Hariappan created HIVE-21564: ---------------------------------------
Summary: Load data into a bucketed table is ignoring partitions specs and loading data into default partition. Key: HIVE-21564 URL: https://issues.apache.org/jira/browse/HIVE-21564 Project: Hive Issue Type: Bug Components: Query Planning Affects Versions: 4.0.0 Reporter: Sankar Hariappan Assignee: Sankar Hariappan When running below command to load data into bucketed tables it is not loading into specified partition instead loaded into default partition. LOAD DATA INPATH '/tmp/files/000000_0' OVERWRITE INTO TABLE call PARTITION(year_partition=2012, month=12); SELECT * FROM call WHERE year_partition=2012 AND month=12; --> returns 0 rows. {code} CREATE TABLE call( date_time_date date, ssn string, name string, location string) PARTITIONED BY ( year_partition int, month int) CLUSTERED BY ( date_time_date) SORTED BY ( date_time_date ASC) INTO 1 BUCKETS STORED AS ORC; {code} If set hive.exec.dynamic.partition to false, it fails with below error. {code} Error: Error while compiling statement: FAILED: SemanticException 1:18 Dynamic partition is disabled. Either enable it by setting hive.exec.dynamic.partition=true or specify partition column values. Error encountered near token 'month' (state=42000,code=40000) {code} When we "set hive.strict.checks.bucketing=false;", the load works fine. This is a behaviour imposed by HIVE-15148 to avoid incorrectly named data files being loaded to the bucketed tables. In customer use case, if the files are named properly with bucket_id (00000_0, 00000_1 etc), then it is safe to set this flag to false. However, current behaviour of loading into default partitions when hive.strict.checks.bucketing=true and partitions specified, was a bug injected by HIVE-19311 where the given query is re-written into a insert query (to handle incorrect file names and Orc versions) but missed to incorporate the partitions specs to it. -- This message was sent by Atlassian JIRA (v7.6.3#76005)