Hive与SparkSQL别名中的区别

先上代码:

select 
vid,
from_unixtime(gpsdate,'yyyy-MM-dd HH:mm:ss') as time 
from xxxxx 
where pdt = '2020-01-01' 
and vid = '010019410390' 
order by gpsdate 
limit 10;

一行简单的代码,没啥毛病。但是,这行代码,在 SparkSQL 中没毛病,在 Hive 中却执行不了。ps:我司 Hive 是 1.2 版本,有点老旧了。。。Spark 用的是 2.2版本。

在 Hive 中(至少是1.2中)需要这么写:

select 
vid,
from_unixtime(gpsdate,'yyyy-MM-dd HH:mm:ss') as time 
from xxxxx 
where pdt = '2020-01-01' 
and vid = '010019410390' 
order by time 
limit 10;

区别就在于 order by 后面一个需要使用别名,一个可以使用原始字段名。真是一个没有注意到的区别。不知道之后的版本有没有进行修改。

你可能感兴趣的:(Hive与SparkSQL别名中的区别)