Hadoop之Join、计数器、数据清洗概述
生活随笔
收集整理的這篇文章主要介紹了
Hadoop之Join、计数器、数据清洗概述
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Hadoop之Join、計(jì)數(shù)器、數(shù)據(jù)清洗概述
目錄
1. Reduce join
原理
該方法的缺點(diǎn)
這種方式的缺點(diǎn)很明顯就是會(huì)造成map和reduce端也就是shuffle階段出現(xiàn)大量的數(shù)據(jù)傳輸,效率很低。
2. Map join
一張表十分小、一張表很大。
在map端緩存多張表,提前處理業(yè)務(wù)邏輯,這樣增加map端業(yè)務(wù),減少reduce端數(shù)據(jù)的壓力,盡可能的減少數(shù)據(jù)傾斜。
job.addCacheFile(new URI(“file:/e:/mapjoincache/pd.txt”));// 緩存普通文件到task運(yùn)行節(jié)點(diǎn),如圖下圖所示
3. 計(jì)數(shù)器應(yīng)用
Hadoop為每個(gè)作業(yè)維護(hù)若干內(nèi)置計(jì)數(shù)器,以描述多項(xiàng)指標(biāo)。例如,某些計(jì)數(shù)器記錄已處理的字節(jié)數(shù)和記錄數(shù),使用戶可監(jiān)控已處理的輸入數(shù)據(jù)量和已產(chǎn)生的輸出數(shù)據(jù)量。
enum MyCounter{MALFORORMED,NORMAL}
//對(duì)枚舉定義的自定義計(jì)數(shù)器加1
context.getCounter(MyCounter.MALFORORMED).increment(1);
context.getCounter(“counterGroup”, “countera”).increment(1);
組名和計(jì)數(shù)器名稱隨便起,但最好有意義。
4. 數(shù)據(jù)清洗(ETL)
概述
在運(yùn)行核心業(yè)務(wù)Mapreduce程序之前,往往要先對(duì)數(shù)據(jù)進(jìn)行清洗,清理掉不符合用戶要求的數(shù)據(jù)。清理的過(guò)程往往只需要運(yùn)行mapper程序,不需要運(yùn)行reduce程序。
總結(jié)
以上是生活随笔為你收集整理的Hadoop之Join、计数器、数据清洗概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hadoop之OutputFormat数
- 下一篇: Hadoop之Hadoop数据压缩