hadoop - 改变配置单元多列

标签 hadoop hive alter

我们如何更改 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];

This command will allow users to change a column's name, data type, comment, or position, or an arbitrary combination of them. The PARTITION clause is available in Hive 0.14.0 and later; see Upgrading Pre-Hive 0.13.0 Decimal Columns for usage. A patch for Hive 0.13 is also available (see HIVE-7971).

文档是在谈论“一列”。 另一种方法是编写多个查询,一个用于您必须更改的每种数据类型。

引用:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

关于hadoop - 改变配置单元多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613590/

相关文章:

hadoop - hadoop fs上的internal.S3AbortableInputStream-将s3获取到EMR

Hadoop 数据节点在独立设置中找不到名称节点

sql - 在Hive中查找最后两位数字相同的员工

mysql:如何截断字段的长度

mysql - ALTER TABLE ALL TABLES ROW_FORMAT=固定;

hadoop - 如何增加 hadoop 中 mapreduce 程序中映射器和缩减器的数量?

hadoop - 如何通过HA第二个namenode恢复hdfs?

apache-spark - 将数据写入Hive Spark SQL时发生ArrayIndexOutOfBoundsException异常

mysql - 如何使用 Sqoop 从 MySQL 增量导入到 Hive?

mysql - 添加外键约束时出现 MYSQL 错误 #1064