无法访问impala中的配置单元表,该表在日期列上创建了分区。使用动态分区列选项插入数据。现在,日期数据类型在impala中不受支持。我应该怎么做才能进入 Impala 的这张table。有没有在配置单元中创建时间戳分区的选项?如果有,方法是什么?
klh5stk11#
您可以轻松地更改列类型。两种方法:1) 在配置单元中使用alter table,将类型更改为字符串等:
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;
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;
这将添加配置单元分区元数据。请参阅此处的手册:恢复分区
1条答案
按热度按时间klh5stk11#
您可以轻松地更改列类型。两种方法:
1) 在配置单元中使用alter table,将类型更改为字符串等:
2) 或者,您可以将表类型更改为外部,删除并重新创建具有不同列类型的表,然后恢复分区:
创建表后,使用此命令创建元数据分区
amazon elastic mapreduce(emr)版本的hive上的等效命令是:
这将添加配置单元分区元数据。请参阅此处的手册:恢复分区