【发布时间】:2017-01-12 12:44:33
【问题描述】:
我们如何改变 Hive 中多列的数据类型?
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);
【问题讨论】:
我们如何改变 Hive 中多列的数据类型?
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);
【问题讨论】:
据我所知,你不能。在 Hive 文档中,您可以找到以下内容:
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];
此命令将允许用户更改列的名称、数据类型、注释或位置,或它们的任意组合。 PARTITION 子句在 Hive 0.14.0 及更高版本中可用;有关用法,请参阅升级 Pre-Hive 0.13.0 十进制列。 Hive 0.13 的补丁也可用(请参阅 HIVE-7971)。
文档正在谈论“列”。 另一种方法是编写多个查询,为您必须更改的每种数据类型编写一个查询。
参考:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
【讨论】: