MapReduce設計模式
基本內容
外文名:MapReduce Design Patterns
作者:邁納 (Donald Miner)、舒克 (Adam Shook)
頁數:213頁
品牌:人民郵電出版社
出版日期:2014年9月1日
ISBN:7115360944
書名:MapReduce設計模式
出版社:人民郵電出版社
開本:16
類型:計算機與互聯網
語種:簡體中文
內容簡介
到目前為止,基於MapReduce框架的設計模式散見於各種研究論文、博客和書籍中。這本書將各種有價值的MapReduce設計模式匯集在一起,形成一本獨特的合集,可以幫讀者節省大量的時間和精力,無論讀者身處哪個領域,使用哪種編程語言,使用什麼開發框架。
書中對每一種模式都會詳細解釋其使用的上下文、可能存在的陷阱及使用的注意事項,以幫助讀者在對大數據問題架構建模時避免常見的設計錯誤。本書還提供了MapReduce的一個完整綜述,解釋其起源和實現,並說明設計模式如此重要的原因。書中的所有示例代碼都是基於Hadoop平台編寫的。
作者簡介
Donald Miner目前是EMC Greenplum的解決方案架構師,為實現與使用基於Greenplum的大數據系統的用戶提供諮詢和幫助。在加入Greenplum之前,Miner博士作為承包商為美國政府部署和構建了多個規模巨大且涉及關鍵任務的Hadoop集群。他還參與了教學,在馬里蘭大學巴爾的摩分校(UMBC)講授Hadoop方面的業界前沿相關的課程以及各種人工智能課程。Miner博士在UMBC獲得了計算機科學的博士學位,讀博士期間他的研究主題為機器學習,博士論文的主題是多智能體系統。
Adam Shook是ClearEdge IT Solutions公司的軟件工程師,從事一些大數據技術工作,如Hadoop、Accumulo、Pig以及ZooKeeper。Shook在馬里蘭大學巴爾的摩分校(UMBC)獲得了計算機科學的學士學位,並得到了一份為遊戲工作室構建一個全新的高性能圖像引擎的工作。為了尋求新的挑戰,他在UMBC就讀研究生,主要專注的研究方向是分布式計算的相關技術。他很快找到了一份開發工作,作為美國政府承包商,從事大規模的Hadoop部署。Shook參與了Hadoop和Pig的開發及培訓課程的指導。在繁忙工作的間隙他喜歡參與相關項目,玩視頻遊戲。
圖書目錄
第1章 設計模式與MapReduce 1
1.1 設計模式 2
1.2 MapReduce簡史 3
1.3 MapReduce和Hadoop簡介 4
1.4 Hadoop示例:單詞計數 6
1.5 Pig和Hive 10
第2章 概要模式 12
2.1 數值概要 12
2.1.1 模式描述 12
2.1.2 數值概要示例 16
2.2 倒排索引概要 30
2.2.1 模式描述 30
2.2.2 倒排索引示例 32
2.3 計數器計數 34
2.3.1 模式描述 34
2.3.2 計數器計數示例36
第3章 過濾模式 39
3.1 過濾 40
3.1.1 模式描述 40
3.1.2 過濾示例 43
3.2 布隆過濾 45
3.2.1 模式描述 45
3.2.2 布隆過濾器示例 48
3.3 Top10 53
3.3.1 模式描述 53
3.3.2 Top10示例 58
3.4 去重 60
3.4.1 模式描述 60
3.4.2 去重示例 63
第4章 數據組織模式 65
4.1 分層結構 65
4.1.1 模式描述 65
4.1.2 分層結構示例 69
4.2 分區 76
4.2.1 模式描述 76
4.2.2 分區示例 79
4.3 分箱 81
4.3.1 模式描述 81
4.3.2 分箱示例 83
4.4 全排序 85
4.4.1 模式描述 85
4.4.2 全排序示例 88
4.5 混排 92
4.5.1 模式描述 92
4.5.2 混排示例 93
第5章 連接模式 96
5.1 連接簡介 97
5.2 reduce端連接 102
5.2.1 模式描述 102
5.2.2 reduce端連接示例 104
5.2.3 使用布隆過濾器的reduce端連接 110
5.3 複製連接 112
5.3.1 模式描述 112
5.3.2 複製連接示例 114
5.4 組合連接 116
5.4.1 模式描述 116
5.4.2 組合連接示例 119
5.5 笛卡兒積 121
5.5.1 模式描述 121
5.5.2 笛卡兒積示例 124
第6章 元模式 131
6.1 作業鏈 131
6.1.1 關於驅動程序 132
6.1.2 作業鏈示例 133
6.1.3 關於shell腳本 142
6.1.4 關於JobControl 145
6.2 鏈摺疊 149
6.2.1 ChainMapper方法和ChainReducer方法 153
6.2.2 鏈摺疊示例 153
6.3 作業歸併 158
作業歸併示例 160
第7章 輸入和輸出模式 166
7.1 在Hadoop中自定義輸入和輸出 166
7.1.1 InputFormat 167
7.1.2 RecordReader 168
7.1.3 OutputFormat 169
7.1.4 RecordWriter 170
7.2 生成數據 170
7.2.1 模式描述 170
7.2.2 生成數據示例 172
7.3 外部源輸出 177
7.3.1 模式描述 177
7.3.2 外部源輸出示例 179
7.4 外部源輸入 183
7.4.1 模型描述 183
7.4.2 外部源輸入示例 185
7.5 分區裁剪 190
7.5.1 模式描述 190
7.5.2 分區裁剪示例 192
第8章 最後的思考與設計模式的未來 203
8.1 數據的本質趨勢 203
8.1.1 圖像、音頻和視頻 203
8.1.2 流式數據 204
8.2 YARN的影響 204
8.3 作為庫或者組件的模式 205
8.4 讀者可以幫到什麼 205
附錄 布隆過濾器 207[1]
參考文獻
- ↑ MapReduce設計模式簡書網