hive sql和sql的区别是什么_hives
大家好,又見面了,我是你們的朋友風(fēng)君子。如果您正在找激活碼,請(qǐng)點(diǎn)擊查看最新教程,關(guān)注關(guān)注公眾號(hào) “全棧程序員社區(qū)” 獲取激活教程,可能之前舊版本教程已經(jīng)失效.最新Idea2022.1教程親測(cè)有效,一鍵激活。
Jetbrains全系列IDE穩(wěn)定放心使用
區(qū)別:1、Hive-sql不支持等值連接,而sql支持;2、Hive-sql不支持“Insert into 表 Values()”、UPDATA、DELETE操作,而sql支持;3、Hive-sql不支持事務(wù),而sql支持。
總體來說hiveSQL與SQL基本上一致,最初的設(shè)計(jì)目的就是為了讓會(huì)SQL但是不會(huì)編程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、分號(hào)字符
分號(hào)是sql語句的結(jié)束符號(hào),在hive中也是,但是hive對(duì)分號(hào)的識(shí)別沒有那么智能,有時(shí)需要進(jìn)行轉(zhuǎn)義 “;” –> “\073”
3、NULL
sql中null代表空值,但是在Hive中,String類型的字段若是空(empty)字符串,即長(zhǎng)度為0,那么對(duì)它 is null 判斷結(jié)果為False
4、Hive不支持將數(shù)據(jù)插入現(xiàn)有的表或分區(qū)中
Hive僅支持覆蓋重寫整個(gè)表。insert overwrite 表 (重寫覆蓋)
5、Hive不支持 Insert into 表 Values(), UPDATA , DELETE 操作
insert into 就是往表或者分區(qū)中追加數(shù)據(jù)。
6、Hive支持嵌入mapreduce程序,來處理復(fù)雜的邏輯
暫時(shí)沒有例子可以提供。
7、Hive支持將轉(zhuǎn)換后的數(shù)據(jù)直接寫入不同的表,還能寫入分區(qū),hdfs和本地目錄
避免多次掃描輸入表的開銷。
8、HQL不支持行級(jí)別的增、改、刪,所有數(shù)據(jù)在加載時(shí)就已經(jīng)確定,不可更改。
更多編程相關(guān)知識(shí),請(qǐng)?jiān)L問:編程入門?。?/p>
總結(jié)
以上是生活随笔為你收集整理的hive sql和sql的区别是什么_hives的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32开发板入门教程(十三) - S
- 下一篇: 台式机共享笔记本的无线网络(只需要一根网