1

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

4

1 回答 1

0

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

1)在 Hive 中使用 alter table,将类型更改为 STRING 等:

alter table table_name change column col_name col_name string cascade;

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

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 分区元数据。请参阅此处的手册:恢复分区

于 2019-05-19T19:49:01.330 回答