You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Adesh Kumar Rao (Jira)" <ji...@apache.org> on 2020/05/03 05:12:00 UTC

[jira] [Updated] (HIVE-23358) MSCK REPAIR should remove all insignificant zeroes from partition values (for numeric datatypes) before creating the partitions

     [ https://issues.apache.org/jira/browse/HIVE-23358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adesh Kumar Rao updated HIVE-23358:
-----------------------------------
    Summary: MSCK REPAIR should remove all insignificant zeroes from partition values (for numeric datatypes) before creating the partitions  (was: MSCK repair should remove all zeroes from partition values before creating the partitions)

> MSCK REPAIR should remove all insignificant zeroes from partition values (for numeric datatypes) 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
>            Priority: Minor
>
> 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)