无法访问在日期列上创建了分区的Impala中的配置单元表。使用动态分区列选项插入数据。 现在,Impala中不支持date数据类型。我应该怎么做才能在impala中访问此表。如果是什么方法,是否可以在hive中创建时间戳分区?
答案 0 :(得分:0)
您可以轻松更改列类型。两种方法:
1)使用alter table in Hive,将类型更改为STRING,等等:
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