【发布时间】:2016-12-29 08:49:26
【问题描述】:
我有一个包含数千列的表,需要与另一个包含数千列的表合并。我需要添加前缀以避免冲突,有什么快速的方法可以使用前缀更改一个表中的所有列?
【问题讨论】:
-
有趣,我们不能在 SELECT 部分同时给所有列起别名
标签: hive concat alter-table alter
我有一个包含数千列的表,需要与另一个包含数千列的表合并。我需要添加前缀以避免冲突,有什么快速的方法可以使用前缀更改一个表中的所有列?
【问题讨论】:
标签: hive concat alter-table alter
如果你有更新元存储的必要权限,你可以试试这个查询,它会用前缀更新你的表的所有列名
UPDATE COLUMNS_V2 C JOIN TBLS T
ON C.CD_ID= T.TBL_ID AND
T.TBL_NAME='table_name' SET C.COLUMN_NAME =CONCAT('prefix_',C.COLUMN_NAME) ;
在上面的查询中,替换以下内容:
'table_name':包含要为其添加前缀的列的表名。
'prefix_' : 您选择的前缀,例如 'tbl_'
【讨论】: