我对Hive DB有一个简单的问题。
如果我有一个表,可以说我是通过" CREATE EXTERNAL TABLE TEMP",用某个位置创建的 - 我想更改列名(只有名称 - 而不是类型)。如果我将使用不同的列名运行相同的CREATE命令 - 会发生什么?表格列会自行更新吗?我得到错误"表已经存在"?
我问这个问题,因为我将列名存储在数据库中,并且我想进行自动处理 - 所以我不想写一个特定的"更新列名&# 34;命令...
谢谢!
答案 0 :(得分:0)
可以使用ALTER TABLE table_name CHANGE完成,因为它需要元更改。
例如
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_alter_table.html
答案 1 :(得分:0)
不,表列不会更新。相反,当表已经存在时,您将收到错误。