Hive 正在重命名配置单元表中名为count(distinct(id))的列

Hive 正在重命名配置单元表中名为count(distinct(id))的列,hive,apache-spark-sql,hiveql,Hive,Apache Spark Sql,Hiveql,在配置单元from SELECT语句中创建表时,我忘记为派生列指定别名 CREATE TABLE temp AS (SELECT date, count(distinct(id)) FROM some_table GROUP BY date); 现在,我想用派生列上的过滤器查询新创建的temp表,我不想删除该表,然后用别名再次为派生列运行相同的查询 如何对列计数(distinct(id))进行筛选或重命名该列?只需使用: altertable yourtable CHANGE`columnna

在配置单元from SELECT语句中创建表时,我忘记为派生列指定别名

CREATE TABLE temp AS (SELECT date, count(distinct(id)) FROM some_table GROUP BY date);
现在,我想用派生列上的过滤器查询新创建的temp表,我不想删除该表,然后用别名再次为派生列运行相同的查询

如何对列计数(distinct(id))进行筛选或重命名该列?

只需使用:


altertable yourtable CHANGE`columnname``newname`BIGINT

您可以使用
描述
查看列名:

DESCRIBE temp;    
col1                    string                                      
_c1                     bigint                  
然后只需重命名该列:

ALTER TABLE temp CHANGE `_c1` `cnt` bigint;
或使用
\u c1
列名:

SELECT `_c1` FROM temp2;

您忘记了
列类型
参数