Hadoop平臺學習過程的一些總結
1.MapR有三種版本,M3(免費版)、M5(含有支援的版本,並啟用了所有HA特性)和M7(最近和重寫的HBase一起釋出),MapR採取了一種與其他供應商不同的方法,它肯定會有屬於自己的追隨者。
2.hadoop 執行 mapreduce的有幾種方式
一、原生態的方式:java 原始碼編譯打包成jar包後,由 hadoop 指令碼排程執行
二、基於 MR 的資料流 Like SQL 指令碼開發語言:pig
三、構建資料倉儲的類 SQL 開發語言:hive
四、跨平臺的指令碼語言:python
3.hadoop的調優
在job中中間的結果使用壓縮,輸出資料量大的話也要採用壓縮,因為備份有副本所以壓縮可以加快磁碟的IO,對機器多的效果應該更明顯,可以大幅度提高job的效率。
儘量減少task的數量,減少每個task耗費的時間。當一個job資料大於1TB 要增加 塊的大小 (256 512 大概)。//hadoop distcp -Ddfs.block.size=$[256*1024*1024] /path/to/inputdata
利用Combiner減少磁碟和網路傳輸到reduce的資料量
使用自己的Writable類儘量重用,不是多次的建立
任務排程的時候會盡量將任務分配給輸入資料塊InputSplit所在的機器,減少IO網路的消耗。
提交MapReduce任務之前,可以先對資料進行一次預處理將小資料合併成適當的大資料。如果Map的任務時間很短可以考慮調節Block塊的大小來調整Map的執行時間。
控制MapReduce任務的數量,調節Map/Reduce的任務槽。Map可以根據時間來調節,reduce調整reduce和任務槽的比例。
利用Combine函式調整Map函式產生的很多重複的中間資料,利用本地的合併,在傳遞給Reduce,可以減少資料的網路傳輸
可以對Map的輸出和最終結果進行壓縮
自定義comparator,可以實現一些演算法如K-means。
2.hadoop 執行 mapreduce的有幾種方式
一、原生態的方式:java 原始碼編譯打包成jar包後,由 hadoop 指令碼排程執行
二、基於 MR 的資料流 Like SQL 指令碼開發語言:pig
三、構建資料倉儲的類 SQL 開發語言:hive
四、跨平臺的指令碼語言:python
3.hadoop的調優
在job中中間的結果使用壓縮,輸出資料量大的話也要採用壓縮,因為備份有副本所以壓縮可以加快磁碟的IO,對機器多的效果應該更明顯,可以大幅度提高job的效率。
儘量減少task的數量,減少每個task耗費的時間。當一個job資料大於1TB 要增加 塊的大小 (256 512 大概)。//hadoop distcp -Ddfs.block.size=$[256*1024*1024] /path/to/inputdata
利用Combiner減少磁碟和網路傳輸到reduce的資料量
使用自己的Writable類儘量重用,不是多次的建立
任務排程的時候會盡量將任務分配給輸入資料塊InputSplit所在的機器,減少IO網路的消耗。
提交MapReduce任務之前,可以先對資料進行一次預處理將小資料合併成適當的大資料。如果Map的任務時間很短可以考慮調節Block塊的大小來調整Map的執行時間。
控制MapReduce任務的數量,調節Map/Reduce的任務槽。Map可以根據時間來調節,reduce調整reduce和任務槽的比例。
利用Combine函式調整Map函式產生的很多重複的中間資料,利用本地的合併,在傳遞給Reduce,可以減少資料的網路傳輸
可以對Map的輸出和最終結果進行壓縮
自定義comparator,可以實現一些演算法如K-means。
相關文章
- docker學習系列16使用過程的一些經驗總結Docker
- Javascript Promise學習過程總結JavaScriptPromise
- 在學習OCLint自定義規則的過程中對AST的一些總結AST
- 分享一些自己的學習過程和學習方法
- 學習 CodeWhisperer 的一些總結
- RunLoop的一些學習與總結OOP
- Vue學習筆記 - 關於過渡效果的一些總結Vue筆記
- maven 學習總結(二)——Maven專案構建過程練習Maven
- Java學習過程的一些重點(轉)Java
- 2024.7.13(hadoop學習總結)Hadoop
- OBIEE10g跨平臺遷移過程及問題總結
- 高校天文共享平臺開發過程中的一些思考
- 爬蟲學習中的一些總結爬蟲
- Hadoop學習第四天--MapReduce提交過程Hadoop
- WSL 中學習 Laravel 過程中的一些配置Laravel
- Elasticsearch 一些命令彙總 以及學習總結Elasticsearch
- TP開發的視訊課程學習平臺
- 學習PHP程式語言的一些總結PHP
- phpcms使用過程的總結PHP
- Cesar競賽平臺——軟工3課程總結軟工
- 跨平臺開發學習總結! 向新手推薦的2020 年 Flutter 課程和教程!Flutter
- 關於DDD學習過程中的一些疑問
- 學習遊戲拆解過程中的一些思考與感悟遊戲
- memcached的學習過程
- java的學習過程Java
- JS/JSP學習的一些問題總結JS
- 學習和使用 Vue 過程中的一些資源分享Vue
- 學習三:基於Hadoop的Cloudera CDH3平臺安裝HadoopCloud
- 高可用Hadoop平臺-Oozie工作流之Hadoop排程Hadoop
- 關於學習 Linux 系統結構的一些總結Linux
- Vue專案開發過程中遇到的一些問題總結Vue
- 繼續學習webpack4的一些配置總結Web
- Java學習過程Java
- OPTIMUS — 過程整合與多學科最佳化平臺
- UFLDL:史丹佛大學深度學習課程總結深度學習
- 關於學習-Linux-系統結構的一些總結Linux
- Hadoop 除錯第一個mapreduce程式過程詳細記錄總結Hadoop除錯
- MongoDB的學習總結MongoDB