在 Hive 表中重命名名称为 count( distinct( id )) 的列
Posted
技术标签:
【中文标题】在 Hive 表中重命名名称为 count( distinct( id )) 的列【英文标题】:Renaming Column with name count( distinct( id )) in Hive Table 【发布时间】:2018-04-27 13:23:40 【问题描述】:在从 SELECT 语句在 HIVE 中创建表时,我忘记为派生列提供别名。
CREATE TABLE temp AS (SELECT date, count(distinct(id)) FROM some_table GROUP BY date);
现在我想在派生列上使用过滤器查询新创建的临时表,我不想删除该表并使用派生列的别名再次运行相同的查询。
如何过滤列计数(distinct(id)),或重命名该列?
【问题讨论】:
【参考方案1】:您可以使用DESCRIBE
查看列名:
DESCRIBE temp;
col1 string
_c1 bigint
然后只需重命名该列:
ALTER TABLE temp CHANGE `_c1` `cnt` bigint;
或者使用_c1
列名:
SELECT `_c1` FROM temp2;
【讨论】:
【参考方案2】:简单使用:
ALTER TABLE yourtable CHANGE `columnname` `newname` BIGINT;
【讨论】:
你忘记了column_type
参数以上是关于在 Hive 表中重命名名称为 count( distinct( id )) 的列的主要内容,如果未能解决你的问题,请参考以下文章