【问题标题】:unable to access hive table in impala无法访问 impala 中的配置单元表
【发布时间】:2019-05-19 19:26:42
【问题描述】:

无法访问在日期列上创建分区的 Impala 中的配置单元表。使用动态分区列选项插入数据。 现在 impala 不支持日期数据类型。我应该怎么做才能在 impala 中访问这个表。如果有的话,有什么方法可以在 hive 中创建时间戳分区?

【问题讨论】:

    标签: hive impala hadoop-partitioning hive-partitions


    【解决方案1】:

    您可以轻松更改列类型。两种方法:

    1) 使用alter table in Hive,将类型更改为字符串等:

    alter table table_name change column col_name col_name string cascade;
    

    2) 或者,您可以将表类型更改为 EXTERNAL,删除并使用不同的列类型重新创建,然后恢复分区:

    ALTER TABLE table_name SET TBLPROPERTIES('EXTERNAL'='TRUE');
     DROP TABLE table_name;
     CREATE TABLE ... --change data type as desired
     location... --specify the same location;
    

    创建表后,使用此命令创建分区元数据

    MSCK [REPAIR] TABLE tablename;
    

    Amazon Elastic MapReduce (EMR) 的 Hive 版本上的等效命令是:

    ALTER TABLE tablename RECOVER PARTITIONS;
    

    这将添加 Hive 分区元数据。在此处查看手册:RECOVER PARTITIONS

    【讨论】:

      猜你喜欢
      • 2013-12-28
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 2011-12-10
      • 2015-07-30
      • 1970-01-01
      相关资源
      最近更新 更多