如何更改配置单元中多个列的数据类型?
CREATE TABLE test_change (a int, b int, c int); ALTER TABLE test_change CHANGE a a string b b doube c c decimal(11,2);
e7arh2l61#
据我所知,你不能。在配置单元文档中,您可以找到以下内容:alter table table_name[partition partition_spec]change[column]col_old_name col_new name column_type[comment col_comment][first | after column_name][cascade | restrict];此命令允许用户更改列的名称、数据类型、注解或位置,或它们的任意组合。分区子句在hive0.14.0及更高版本中可用;有关用法,请参阅升级配置单元0.13.0之前的十进制列。还提供了适用于hive 0.13的修补程序(请参阅hive-7971)。文档中提到的是“一个专栏”。另一种方法是编写多个查询,每个需要更改的数据类型对应一个查询。参考文献:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl
1条答案
按热度按时间e7arh2l61#
据我所知,你不能。在配置单元文档中,您可以找到以下内容:
alter table table_name[partition partition_spec]change[column]col_old_name col_new name column_type[comment col_comment][first | after column_name][cascade | restrict];
此命令允许用户更改列的名称、数据类型、注解或位置,或它们的任意组合。分区子句在hive0.14.0及更高版本中可用;有关用法,请参阅升级配置单元0.13.0之前的十进制列。还提供了适用于hive 0.13的修补程序(请参阅hive-7971)。
文档中提到的是“一个专栏”。另一种方法是编写多个查询,每个需要更改的数据类型对应一个查询。
参考文献:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl