日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

delete hive_「挑战30万年薪」 Hive语句详解之从SQL到HQL的应转习惯

發(fā)布時(shí)間:2025/3/19 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delete hive_「挑战30万年薪」 Hive语句详解之从SQL到HQL的应转习惯 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Hive不支持等值連接

SQL中對(duì)兩表內(nèi)聯(lián)可以寫(xiě)成:

select * from dual a,dual b where a.key=b.key;

Hive中應(yīng)為:

select * from dual a join dual b on a.key=b.key;

而不是傳統(tǒng)的格式:

SELECT t1.al as c1,t2.b1 as c2FROM t1,t2 WHERE t1.a2=t2.b2

分號(hào)字符:

分號(hào)是SQL語(yǔ)句結(jié)束標(biāo)記,在HiveQL中也是,但是在HiveQL中,對(duì)分號(hào)的識(shí)別沒(méi)有那么智慧,例如:

select concat(key,concat(";",key))from dual;

但HiveQL在解析語(yǔ)句時(shí)提示:

FAILED:Parse Error:line O:-1 mismatched input ''expecting )in function specification

解決的辦法:

使用分號(hào)的八進(jìn)制的ASCII碼進(jìn)行轉(zhuǎn)義,那么上述語(yǔ)句應(yīng)寫(xiě)成:select concat(key,concat("073',key))from dual;

IS [INOT] NULL

SQL中null代表空值,值得警惕的是,在HiveQL中String類型的字段若是空(empty)字符串,即長(zhǎng)度為0,那么對(duì)它進(jìn)行IS NULL的判斷結(jié)果是False.

Hive不支持將數(shù)據(jù)插入現(xiàn)有的表或分區(qū)中,僅支持覆蓋重寫(xiě)整個(gè)表,示例如下:

INSERT OVERWRITE TABLE t1 SELECT * FROM t2;

hive不支持INSERTINTO,UPDATE,DELETE操作

這樣的話,就不要很復(fù)雜的鎖機(jī)制來(lái)讀寫(xiě)數(shù)據(jù)。

INSERT INTO syntax is only available starting in version 0.8。

解釋:

INSERT INTO就是在表或分區(qū)中追加數(shù)據(jù)。

hive支持嵌入mapreduce程序,來(lái)處理復(fù)雜的邏輯如:

FROM(

MAP doctext USING ‘python wc_mapper.py'AS(word,cnt)

FROM docs

CLUSTER BY word

)a

REDUCE word,cnt USING 'python wc_reduce.py';

解釋:

doctext:是輸入

word,cnt:是map程序的輸出

CLUSTER BY:將wordhash后,又作為reduce程序的輸入

map程序reduce程序可以單獨(dú)使用,如:

FROM(

FROM session_table

SELECT sessionid,tstamp,data

DISTRIBUTE BY sessionid SORT BY tstamp

)a

REDUCE sessionid,tstamp,data USING 'session_reducer.sh';

解釋:

DISTRIBUTE BV:用于給reduce程序分配行數(shù)據(jù)

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

這樣能免除多次掃描輸入表的消費(fèi)。

如果覺(jué)得對(duì)你有所幫助。記得收藏和關(guān)注呦!(每日更新各種大數(shù)據(jù)框架)

如需轉(zhuǎn)載請(qǐng)注明出處(創(chuàng)作不易請(qǐng)見(jiàn)諒)

和巨嬰程序猿一起成長(zhǎng)。讓自己變得更優(yōu)秀

想了解更多精彩內(nèi)容,快來(lái)關(guān)注跟著巨嬰去逆襲

我最近一直在思考(大數(shù)據(jù)通俗講解)的問(wèn)題,你的看法是什么呢?關(guān)注我快說(shuō)出來(lái)一起交流一下吧~

總結(jié)

以上是生活随笔為你收集整理的delete hive_「挑战30万年薪」 Hive语句详解之从SQL到HQL的应转习惯的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。