先上**:
select
vid,
from_unixtime(gpsdate,'yyyy-mm-dd hh:mm:ss') as time
from ***xx
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 ***xx
where pdt = '2020-01-01'
and vid = '010019410390'
order by time
limit 10;
區別就在於 order by 後面乙個需要使用別名,乙個可以使用原始欄位名。真是乙個沒有注意到的區別。不知道之後的版本有沒有進行修改。 Spark sql與Hive的關係
spark sql 在某些部分是重用的hive的東西,比如語法解析 元資料儲存,到執行計畫的翻譯部分。hiveql可以翻譯成mapreduce執行,也可以翻譯成spark執行計畫執行。在同時安裝了hive和spark時,我使用hive下的beeline執行hql,執行引擎是mapreuce 使用sp...
Spark SQL操作Hive實戰
在目前企業級 spark大資料開發中,大多數情況下都是採用hive來作為資料倉儲的。spark提供了對hive的支援,spark通過hivecontext可以直接操作hive中的資料。基於hivecontext,我們可以使用sql hql兩種方式來編寫sql語句 對hive進行操作,包括 建立表 刪...
SparkSql實現Mysql到hive的資料流動
今天去面試了一波,因為排程系統採用了sparksql實現資料從mysql到hive,在這一點上面試官很明顯很不滿我對於spark的理解,19年的第乙個面試就這麼掛了。有問題不怕,怕的是知道了問題還得過且過。現在就來梳理下我的專案是怎麼使用spark導數的 第一步 把mysql中的表放入記憶體 pro...