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