溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hive-sql和sql有什么區(qū)別

發(fā)布時間:2020-12-10 11:11:21 來源:億速云 閱讀:1283 作者:小新 欄目:數(shù)據(jù)庫

這篇文章給大家分享的是有關(guān)Hive-sql和sql有什么區(qū)別的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

區(qū)別:1、Hive-sql不支持等值連接,而sql支持;2、Hive-sql不支持“Insert into 表 Values()”、UPDATA、DELETE操作,而sql支持;3、Hive-sql不支持事務(wù),而sql支持。

總體來說hiveSQL與SQL基本上一致,最初的設(shè)計目的就是為了讓會SQL但是不會編程MapReduce的人也能使用Hadoop進(jìn)行數(shù)據(jù)處理。

1、Hive不支持等值連接

不支持等值連接,一般使用left join、right join 或者inner join替代。

例如:

SQL中內(nèi)關(guān)聯(lián)可以這樣寫: select * from a , b where a.key = b.key

Hive中應(yīng)該這樣寫: select * from a join b on a.key = b.key

hive中不能使用省去join的寫法。

2、分號字符

分號是sql語句的結(jié)束符號,在hive中也是,但是hive對分號的識別沒有那么智能,有時需要進(jìn)行轉(zhuǎn)義 “;” --> “\073”

3、NULL

sql中null代表空值,但是在Hive中,String類型的字段若是空(empty)字符串,即長度為0,那么對它 is null 判斷結(jié)果為False

4、Hive不支持將數(shù)據(jù)插入現(xiàn)有的表或分區(qū)中

Hive僅支持覆蓋重寫整個表。

insert overwrite 表 (重寫覆蓋)

5、Hive不支持 Insert into 表 Values(), UPDATA , DELETE 操作

insert into 就是往表或者分區(qū)中追加數(shù)據(jù)。

6、Hive支持嵌入mapreduce程序,來處理復(fù)雜的邏輯

暫時沒有例子可以提供。

7、Hive支持將轉(zhuǎn)換后的數(shù)據(jù)直接寫入不同的表,還能寫入分區(qū),hdfs和本地目錄

避免多次掃描輸入表的開銷。

8、HQL不支持行級別的增、改、刪,所有數(shù)據(jù)在加載時就已經(jīng)確定,不可更改。

感謝各位的閱讀!關(guān)于Hive-sql和sql有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI