Adesh Kumar Rao created HIVE-23358:
--------------------------------------
Summary: MSCK repair should remove all zeroes from partition
values before creating the partitions
Key: HIVE-23358
URL: https://issues.apache.org/jira/browse/HIVE-23358
Project: Hive
Issue Type: Bug
Components: Standalone Metastore
Affects Versions: 4.0.0
Reporter: Adesh Kumar Rao
Assignee: Adesh Kumar Rao
For the following scenario
1. Have partitioned data path as follows.
hdfs://mycluster/datapath/t1/year=2020/month=03/day=10
hdfs://mycluster/datapath/t1/year=2020/month=03/day=11
2. create external table t1 (key int, value string) partitioned by (Year int,
Month int, Day int) stored as orc location hdfs://mycluster/datapath/t1'';
3. msck repair table t1;
4. show partitions t1;
{noformat}
+----------------------------+
| partition |
+----------------------------+
| year=2020/month=03/day=10 |
| year=2020/month=03/day=11 |
+----------------------------+
{noformat}
5.show table extended like 't1' partition (Year=2020, Month=03, Day=11);
will throw an error:
{noformat}
Error: Error while compiling statement: FAILED: SemanticException [Error
10006]: Partition not found {year=2020, month=3, day=11}
(state=42000,code=10006)
{noformat}
When the partition directory are created without the extra zeroes, this works
fine.
{noformat}
hdfs://mycluster/datapath/t1/year=2020/month=3/day=10
hdfs://mycluster/datapath/t1/year=2020/month=3/day=11
{noformat}
This happens because while searching for partitions, hive strips the extra "0"
in month key and then queries the metastore
(partSpec="year=2020/month=3/day=10") which returns no rows.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)