大數(shù)據(jù)面試題搜集--持續(xù)更新

?!adoop

  • HIVE
    • UDF UDTF UDAF

UDF:?jiǎn)涡羞M(jìn)入,單行輸出
UDAF:多行進(jìn)入,單行輸出
UDTF:?jiǎn)涡休斎?,多行輸?/p>

  • HIVE桶表

數(shù)據(jù)根據(jù)不同的HASH值放入到不同的桶中。
每個(gè)桶在物理上是HDFS上HIVE目錄下的一個(gè)文件。
數(shù)據(jù)放入桶表的話,一個(gè)桶對(duì)應(yīng)一個(gè)REDUCE任務(wù)。
桶表專(zhuān)門(mén)用于抽樣查詢,是很專(zhuān)業(yè)性的,不是日常用來(lái)存儲(chǔ)數(shù)據(jù)的表,需要抽樣查詢時(shí),才創(chuàng)建和使用桶表。

  • Hive 中的壓縮格式TextFile、SequenceFile、RCfile 、ORCfile各有什么區(qū)別

TextFile
文本格式,行方式存儲(chǔ)。
SequenceFile
SequenceFile是Hadoop API提供的一種二進(jìn)制文件支持,存儲(chǔ)方式為行存儲(chǔ),其具有使用方便、可分割、可壓縮的特點(diǎn)。
SequenceFile支持三種壓縮選擇:NONE,RECORD,BLOCK。Record壓縮率低,一般建議使用BLOCK壓縮。
優(yōu)勢(shì)是文件和hadoop api中的MapFile是相互兼容的
RCFile
存儲(chǔ)方式:數(shù)據(jù)按行分塊,每塊按列存儲(chǔ)。結(jié)合了行存儲(chǔ)和列存儲(chǔ)的優(yōu)點(diǎn):
首先,RCFile 保證同一行的數(shù)據(jù)位于同一節(jié)點(diǎn),因此元組重構(gòu)的開(kāi)銷(xiāo)很低;
其次,像列存儲(chǔ)一樣,RCFile 能夠利用列維度的數(shù)據(jù)壓縮,并且能跳過(guò)不必要的列讀??;
ORCFile
存儲(chǔ)方式:數(shù)據(jù)按行分塊 每塊按照列存儲(chǔ)。
壓縮快、快速列存取。
效率比rcfile高,是rcfile的改良版本。

  • HIVE hive.map.aggr、hive.groupby.skewindata(數(shù)據(jù)傾斜時(shí)負(fù)載均衡)執(zhí)行過(guò)程

1.生成兩個(gè)job執(zhí)行g(shù)roup by,第一個(gè)job中,各個(gè)map是平均讀取分片的,在map階段對(duì)這個(gè)分片中的數(shù)據(jù)根據(jù)group by 的key進(jìn)行局部聚合操作,這里就相當(dāng)于Combiner操作。
2.在第一次的job中,map輸出的結(jié)果隨機(jī)分區(qū),這樣就可以平均分到reduce中
3.在第一次的job中,reduce中按照group by的key進(jìn)行分組后聚合,這樣就在各個(gè)reduce中又進(jìn)行了一次局部的聚合。
4.因?yàn)榈谝粋€(gè)job中分區(qū)是隨機(jī)的,所有reduce結(jié)果的數(shù)據(jù)的key也是隨機(jī)的,所以第二個(gè)job的map讀取的數(shù)據(jù)也是隨機(jī)的key,所以第二個(gè)map中不存在數(shù)據(jù)傾斜的問(wèn)題。
5.在第二個(gè)job的map中,也會(huì)進(jìn)行一次局部聚合。
6.第二個(gè)job中分區(qū)是按照group by的key分區(qū)的,這個(gè)地方就保證了整體的group by沒(méi)有問(wèn)題,相同的key分到了同一個(gè)reduce中。
7.經(jīng)過(guò)前面幾個(gè)聚合的局部聚合,這個(gè)時(shí)候的數(shù)據(jù)量已經(jīng)大大減少了,在最后一個(gè)reduce里進(jìn)行最后的整體聚合。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容