關(guān)于HIVE2

普通查詢:

SELECT [ALL | DISTINCT]select_expr, select_expr, ...
FROM table_reference
[WHERE where_condition]
[GROUP BYcol_list]
[HAVING where_condition]
[ORDER BY col_list]
[CLUSTER BY col_list
  | [DISTRIBUTE BY col_list] [SORT BY col_list]
]
[LIMIT number]

三個(gè)排序:

ORDER  BY:  #對整體進(jìn)行排序, 只能設(shè)置一個(gè)reduce.
#設(shè)置reduce的個(gè)數(shù)
set mapreduce.job.reduces=-1; 
sort by:  
#可以對每個(gè)reduce內(nèi)部進(jìn)行排序的操作, 并沒有根據(jù)reduce進(jìn)行排序.
#可以對每個(gè)reduce內(nèi)部進(jìn)行排序的操作, 前提reduce數(shù)量有多個(gè), 如果只有一個(gè), 和#order by是一樣的
distribute by:  跟 sort by:  放在一起才能好用.
#注意: 指定按照那個(gè)字段作為分區(qū)的字段, 執(zhí)行分區(qū)
cluster by:
#分區(qū)的字段和排序的字段都是同一個(gè),并且升序,可省略寫.

四個(gè)分析函數(shù):

放置位置select之前from之后.

row_numver()  #順序數(shù)字排列,12345
rank() #順序數(shù)字并列排序123356
dense_rank()#順序數(shù)字延續(xù)排列123345
ntile()#平均分112233

當(dāng)前行跟其他行級聯(lián)求各種的五個(gè)函數(shù)

max/min/sum/avg/count

當(dāng)前行跟上下對比計(jì)算四個(gè)函數(shù)

LAG,LEAD,FIRST_VALUE,LAST_VALUE

hive的sql優(yōu)化

#1.列裁剪
hive.optimize.cp=true; 默認(rèn)就是TRUE
#2.分區(qū)裁剪
hive.optimize.pruner=true; 默認(rèn)就是TRUE

3.動(dòng)態(tài)分區(qū)表導(dǎo)入

#動(dòng)態(tài)分區(qū)

insert into table 分區(qū)表2 partition(month) 
select * from 分區(qū)表1
--------------------------------------------------------------
#如果使用需要配置具體只設(shè)置前兩個(gè)即可:
~ 1 .查詢的原始表分區(qū)最后一個(gè)字段必須是分區(qū)字段
~ 2 .開啟動(dòng)態(tài)分區(qū)支持.默認(rèn)既開啟.
set hive.exec.dynamic.partition=true;
-----------------------------------------------------------
~ 3 .關(guān)閉HIVE嚴(yán)格語法模式.默認(rèn)是開啟.
set hive.exec.dynamic.partition.mode=nonstrict;
~ 4 .設(shè)置MR節(jié)點(diǎn),一共最大創(chuàng)建多少個(gè)分區(qū)
set(默認(rèn)100) hive.exec.max.dyanmic.partitions.pernode=10000
~ 5 .整個(gè)mr job中,最大可以創(chuàng)建多少個(gè)HDFS文件(默認(rèn)十萬個(gè))
set hive.exec.max.created.files=10000;
~ 6 .有空分區(qū)時(shí)候是不是要拋出異常.(一般不用設(shè)置)
set hive.exec.on.empty.partition=false;

函數(shù)分類

UDF函數(shù): 大部分的函數(shù)都是UDF函數(shù)

  • 特點(diǎn): 一進(jìn)一出
  • 例子: substr cast ....

UDAF函數(shù):

  • 特點(diǎn): 多進(jìn) 一出
  • 例子: 聚合函數(shù) sum count avg...

UDTF函數(shù):

  • 特點(diǎn): 一進(jìn)多出
  • 例子: explode

hive的調(diào)優(yōu)

hive的壓縮方案

4.如何調(diào)整MAP,跟REDUCE的數(shù)量

減少M(fèi)AP

在map讀取之前進(jìn)行文件合并操作.
set mapred.max.split.size=112345600;
set mapred.min.split.size.per.node=112345600;
set mapred.min.split.size.per.rack=112345600;
#-前面三個(gè)參數(shù)確定合并文件塊的大小,大于文件塊大小128m的榜轿,按照128m來分隔摄闸,
--小于128m,大于100m的认轨,按照100m來分隔勇劣,把那些小于100m的(包括小文件和分隔大文件剩下的)功咒,
set hive.input.format=
org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
#這個(gè)參數(shù)表示執(zhí)行前進(jìn)行小文件合并哩俭,

增加MAP

#把文件拆分成多個(gè)文件即可
set mapred.reduce.tasks=10;
create table a_1 as 
select * from tab_info  distribute by rand(123);
#按照123隨機(jī)數(shù),分散開十個(gè)文件.

調(diào)整reduce

set hive.exec.reducers.bytes.per.reducer=524288000;  調(diào)整每個(gè)reduce能夠處理數(shù)據(jù)量
    當(dāng)調(diào)小后, reduce數(shù)量增加 , 調(diào)大后, reduce數(shù)量就會(huì)減少

set mapred.reduce.tasks=15; 強(qiáng)制調(diào)整reduce的數(shù)量

4.并行執(zhí)行

set hive.exec.parallel=true;
set hive.ex

案例:
select * from A 
union all
select * from B;
上下合并查詢出來的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拥诡,一起剝皮案震驚了整個(gè)濱河市触趴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渴肉,老刑警劉巖冗懦,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仇祭,居然都是意外死亡披蕉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門乌奇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來没讲,“玉大人,你說我怎么就攤上這事礁苗∈沉悖” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵寂屏,是天一觀的道長贰谣。 經(jīng)常有香客問我,道長迁霎,這世上最難降的妖魔是什么吱抚? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮考廉,結(jié)果婚禮上秘豹,老公的妹妹穿的比我還像新娘。我一直安慰自己昌粤,他們只是感情好既绕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涮坐,像睡著了一般凄贩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上袱讹,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天疲扎,我揣著相機(jī)與錄音,去河邊找鬼。 笑死椒丧,一個(gè)胖子當(dāng)著我的面吹牛壹甥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壶熏,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼句柠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棒假?” 一聲冷哼從身側(cè)響起溯职,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎淆衷,沒想到半個(gè)月后缸榄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祝拯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年甚带,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佳头。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鹰贵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出康嘉,到底是詐尸還是另有隱情碉输,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布亭珍,位于F島的核電站敷钾,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肄梨。R本人自食惡果不足惜阻荒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望众羡。 院中可真熱鬧侨赡,春花似錦、人聲如沸粱侣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽齐婴。三九已至油猫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尔店,已是汗流浹背眨攘。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工主慰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嚣州,地道東北人鲫售。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像该肴,于是被迫代替她去往敵國和親情竹。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容