《Hadoop基礎(chǔ)教程》包括三個(gè)主要部分:第1~5章講述了Hadoop的核心機(jī)制及Hadoop的工作模式;第6~7章涵蓋了Hadoop更多可操作的內(nèi)容;第8~11章介紹了Hadoop與其他產(chǎn)品和技術(shù)的組合使用。
Hadoop 是一些大型搜索引擎數(shù)據(jù)縮減功能的核心部分,但是它實(shí)際上是一個(gè)分布式數(shù)據(jù)處理框架。搜索引擎需要收集數(shù)據(jù),而且是數(shù)量極大的數(shù)據(jù)。作為分布式框架,Hadoop 讓許多應(yīng)用程序能夠受益于并行數(shù)據(jù)處理。
Hadoop基礎(chǔ)教程目錄
第1章 緒論
1.1 大數(shù)據(jù)處理
1.1.1 數(shù)據(jù)的價(jià)值
1.1.2 受眾較少
1.1.3 一種不同的方法
1.1.4 Hadoop
1.2 基于Amazon Web Services的云計(jì)算
1.2.1 云太多了
1.2.2 第三種方法
1.2.3 不同類(lèi)型的成本
1.2.4 AWS:Amazon的彈性架構(gòu)
1.2.5 本書(shū)內(nèi)容
1.3 小結(jié)
第2章 安裝并運(yùn)行Hadoop
2.1 基于本地Ubuntu主機(jī)的Hadoop系統(tǒng)
2.2 實(shí)踐環(huán)節(jié):檢查是否已安裝JDK
2.3 實(shí)踐環(huán)節(jié):下載Hadoop
2.4 實(shí)踐環(huán)節(jié):安裝SSH
2.5 實(shí)踐環(huán)節(jié):使用Hadoop計(jì)算圓周率
2.6 實(shí)踐環(huán)節(jié):配置偽分布式模式
2.7 實(shí)踐環(huán)節(jié):修改HDFS的根目錄
2.8 實(shí)踐環(huán)節(jié):格式化NameNode
2.9 實(shí)踐環(huán)節(jié):?jiǎn)?dòng)Hadoop
2.10 實(shí)踐環(huán)節(jié):使用HDFS
2.11 實(shí)踐環(huán)節(jié):MapReduce的經(jīng)典入門(mén)程序——字?jǐn)?shù)統(tǒng)計(jì)
2.12 使用彈性MapReduce
2.13 實(shí)踐環(huán)節(jié):使用管理控制臺(tái)在EMR運(yùn)行WordCount
2.13.1 使用EMR的其他方式
2.13.2 AWS生態(tài)系統(tǒng)
2.14 本地Hadoop與EMR Hadoop的對(duì)比
2.15 小結(jié)
第3章 理解MapReduce
3.1 鍵值對(duì)
3.1.1 具體含義
3.1.2 為什么采用鍵/值數(shù)據(jù)
3.1.3 MapReduce作為一系列鍵/值變換
3.2 MapReduce的Hadoop Java API
3.3 編寫(xiě)MapReduce程序
3.4 實(shí)踐環(huán)節(jié):設(shè)置classpath
3.5 實(shí)踐環(huán)節(jié):實(shí)現(xiàn)WordCount
3.6 實(shí)踐環(huán)節(jié):構(gòu)建JAR文件
3.7 實(shí)踐環(huán)節(jié):在本地Hadoop集群運(yùn)行WordCount
3.8 實(shí)踐環(huán)節(jié):在EMR上運(yùn)行WordCount
3.8.1 0.20之前版本的Java MapReduce API
3.8.2 Hadoop提供的mapper和reducer實(shí)現(xiàn)
3.9 實(shí)踐環(huán)節(jié):WordCount的簡(jiǎn)易方法
3.10 查看WordCount的運(yùn)行全貌
3.10.1 啟動(dòng)
3.10.2 將輸入分塊
3.10.3 任務(wù)分配
3.10.4 任務(wù)啟動(dòng)
3.10.5 不斷監(jiān)視JobTracker
3.10.6 mapper的輸入
3.10.7 mapper的執(zhí)行
3.10.8 mapper的輸出和reducer的輸入
3.10.9 分塊
3.10.10 可選分塊函數(shù)
3.10.11 reducer類(lèi)的輸入
3.10.12 reducer類(lèi)的執(zhí)行
3.10.13 reducer類(lèi)的輸出
3.10.14 關(guān)機(jī)
3.10.15 這就是MapReduce的全部
3.10.16 也許缺了combiner
3.11 實(shí)踐環(huán)節(jié):使用combiner編寫(xiě)WordCount
3.12 實(shí)踐環(huán)節(jié):更正使用combiner的WordCount
3.13 Hadoop專(zhuān)有數(shù)據(jù)類(lèi)型
3.13.1 Writable和Writable-Comparable接口
3.13.2 wrapper類(lèi)介紹
3.14 實(shí)踐環(huán)節(jié):使用Writable包裝類(lèi)
3.15 輸入/輸出
3.15.1 文件、split和記錄
3.15.2 InputFormat和RecordReader
3.15.3 Hadoop提供的InputFormat
3.15.4 Hadoop提供的RecordReader
3.15.5 OutputFormat和Record-Writer
3.15.6 Hadoop提供的OutputFormat
3.15.7 別忘了Sequence files
3.16 小結(jié)
第4章 開(kāi)發(fā)MapReduce程序
4.1 使用非Java語(yǔ)言操作Hadoop
4.1.1 Hadoop Streaming工作原理
4.1.2 使用Hadoop Streaming的原因
4.2 實(shí)踐環(huán)節(jié):使用Streaming實(shí)現(xiàn)Word-Count
4.3 分析大數(shù)據(jù)集
4.3.1 獲取UFO目擊事件數(shù)據(jù)集
4.3.2 了解數(shù)據(jù)集
4.4 實(shí)踐環(huán)節(jié):統(tǒng)計(jì)匯總UFO數(shù)據(jù)
4.5 實(shí)踐環(huán)節(jié):統(tǒng)計(jì)形狀數(shù)據(jù)
4.6 實(shí)踐環(huán)節(jié):找出目擊事件的持續(xù)時(shí)間與UFO形狀的關(guān)系
4.7 實(shí)踐環(huán)節(jié):在命令行中執(zhí)行形狀/時(shí)間分析
4.8 實(shí)踐環(huán)節(jié):使用ChainMapper進(jìn)行字段驗(yàn)證/分析
4.9 實(shí)踐環(huán)節(jié):使用Distributed Cache改進(jìn)地點(diǎn)輸出
4.10 計(jì)數(shù)器、狀態(tài)和其他輸出
4.11 實(shí)踐環(huán)節(jié):創(chuàng)建計(jì)數(shù)器、任務(wù)狀態(tài)和寫(xiě)入日志
4.12 小結(jié)
第5章 高級(jí)MapReduce技術(shù)
5.1 初級(jí)、高級(jí)還是中級(jí)
5.2 多數(shù)據(jù)源聯(lián)結(jié)
5.2.1 不適合執(zhí)行聯(lián)結(jié)操作的情況
5.2.2 map端聯(lián)結(jié)與reduce端聯(lián)結(jié)的對(duì)比
5.2.3 匹配賬戶(hù)與銷(xiāo)售信息
5.3 實(shí)踐環(huán)節(jié):使用MultipleInputs實(shí)現(xiàn)reduce端聯(lián)結(jié)
5.3.1 實(shí)現(xiàn)map端聯(lián)結(jié)
5.3.2 是否進(jìn)行聯(lián)結(jié)
5.4 圖算法
5.4.1 Graph 101
5.4.2 圖和MapReduce
5.4.3 圖的表示方法
5.5 實(shí)踐環(huán)節(jié):圖的表示
5.6 實(shí)踐環(huán)節(jié):創(chuàng)建源代碼
5.7 實(shí)踐環(huán)節(jié):第一次運(yùn)行作業(yè)
5.8 實(shí)踐環(huán)節(jié):第二次運(yùn)行作業(yè)
5.9 實(shí)踐環(huán)節(jié):第三次運(yùn)行作業(yè)
5.10 實(shí)踐環(huán)節(jié):第四次也是最后一次運(yùn)行作業(yè)
5.10.1 運(yùn)行多個(gè)作業(yè)
5.10.2 關(guān)于圖的終極思考
5.11 使用語(yǔ)言無(wú)關(guān)的數(shù)據(jù)結(jié)構(gòu)
5.11.1 候選技術(shù)
5.11.2 Avro簡(jiǎn)介
5.12 實(shí)踐環(huán)節(jié):獲取并安裝Avro
5.13 實(shí)踐環(huán)節(jié):定義模式
5.14 實(shí)踐環(huán)節(jié):使用Ruby創(chuàng)建Avro源數(shù)據(jù)
5.15 實(shí)踐環(huán)節(jié):使用Java語(yǔ)言編程操作Avro數(shù)據(jù)
5.16 實(shí)踐環(huán)節(jié):在MapReduce中統(tǒng)計(jì)UFO形狀
5.17 實(shí)踐環(huán)節(jié):使用Ruby檢查輸出數(shù)據(jù)
5.18 實(shí)踐環(huán)節(jié):使用Java檢查輸出數(shù)據(jù)
5.19 小結(jié)
第6章 故障處理
6.1 故障
6.1.1 擁抱故障
6.1.2 至少不怕出現(xiàn)故障
6.1.3 嚴(yán)禁模仿
6.1.4 故障類(lèi)型
6.1.5 Hadoop節(jié)點(diǎn)故障
6.2 實(shí)踐環(huán)節(jié):殺死DataNode進(jìn)程
6.3 實(shí)踐環(huán)節(jié):復(fù)制因子的作用
6.4 實(shí)踐環(huán)節(jié):故意造成數(shù)據(jù)塊丟失
6.5 實(shí)踐環(huán)節(jié):殺死TaskTracker進(jìn)程
6.6 實(shí)踐環(huán)節(jié):殺死JobTracker
6.7 實(shí)踐環(huán)節(jié):殺死NameNode進(jìn)程
6.8 實(shí)踐環(huán)節(jié):引發(fā)任務(wù)故障
6.9 數(shù)據(jù)原因造成的任務(wù)故障
6.10 實(shí)踐環(huán)節(jié):使用skip模式處理異常數(shù)據(jù)
6.11 小結(jié)
第7章 系統(tǒng)運(yùn)行與維護(hù)
7.1 關(guān)于EMR的說(shuō)明
7.2 Hadoop配置屬性
7.3 實(shí)踐環(huán)節(jié):瀏覽默認(rèn)屬性
7.3.1 附加的屬性元素
7.3.2 默認(rèn)存儲(chǔ)位置
7.3.3 設(shè)置Hadoop屬性的幾種方式
7.4 集群設(shè)置
7.4.1 為集群配備多少臺(tái)主機(jī)
7.4.2 特殊節(jié)點(diǎn)的需求
7.4.3 不同類(lèi)型的存儲(chǔ)系統(tǒng)
7.4.4 Hadoop的網(wǎng)絡(luò)配置
7.5 實(shí)踐環(huán)節(jié):查看默認(rèn)的機(jī)柜配置
7.6 實(shí)踐環(huán)節(jié):報(bào)告每臺(tái)主機(jī)所在機(jī)柜
7.7 集群訪問(wèn)控制
7.8 實(shí)踐環(huán)節(jié):展示Hadoop的默認(rèn)安全機(jī)制
7.9 管理NameNode
7.10 實(shí)踐環(huán)節(jié):為fsimage文件新增一個(gè)存儲(chǔ)路徑
7.11 實(shí)踐環(huán)節(jié):遷移到新的NameNode主機(jī)
7.12 管理HDFS
7.12.1 數(shù)據(jù)寫(xiě)入位置
7.12.2 使用平衡器
7.13 MapReduce管理
7.13.1 通過(guò)命令行管理作業(yè)
7.13.2 作業(yè)優(yōu)先級(jí)和作業(yè)調(diào)度
7.14 實(shí)踐環(huán)節(jié):修改作業(yè)優(yōu)先級(jí)并結(jié)束作業(yè)運(yùn)行
7.15 擴(kuò)展集群規(guī)!
7.15.1 提升本地Hadoop集群的計(jì)算能力
7.15.2 提升EMR作業(yè)流的計(jì)算能力
7.16 小結(jié)
第8章 Hive:數(shù)據(jù)的關(guān)系視圖
8.1 Hive概述
8.1.1 為什么使用Hive
8.1.2 感謝Facebook
8.2 設(shè)置Hive
8.2.1 準(zhǔn)備工作
8.2.2 下載Hive
8.3 實(shí)踐環(huán)節(jié):安裝Hive
8.4 使用Hive
8.5 實(shí)踐環(huán)節(jié):創(chuàng)建UFO數(shù)據(jù)表
8.6 實(shí)踐環(huán)節(jié):在表中插入數(shù)據(jù)
8.7 實(shí)踐環(huán)節(jié):驗(yàn)證表
8.8 實(shí)踐環(huán)節(jié):用正確的列分隔符重定義表
8.9 實(shí)踐環(huán)節(jié):基于現(xiàn)有文件創(chuàng)建表
8.10 實(shí)踐環(huán)節(jié):執(zhí)行聯(lián)結(jié)操作
8.11 實(shí)踐環(huán)節(jié):使用視圖
8.12 實(shí)踐環(huán)節(jié):導(dǎo)出查詢(xún)結(jié)果
8.13 實(shí)踐環(huán)節(jié):制作UFO目擊事件分區(qū)表
8.13.1 分桶、歸并和排序
8.13.2 用戶(hù)自定義函數(shù)
8.14 實(shí)踐環(huán)節(jié):新增用戶(hù)自定義函數(shù)
8.14.1 是否進(jìn)行預(yù)處理
8.14.2 Hive和Pig的對(duì)比
8.14.3 未提到的內(nèi)容
8.15 基于Amazon Web Services的Hive
8.16 實(shí)踐環(huán)節(jié):在EMR上分析UFO數(shù)據(jù)
8.16.1 在開(kāi)發(fā)過(guò)程中使用交互式作業(yè)流
8.16.2 與其他AWS產(chǎn)品的集成
8.17 小結(jié)
第9章 與關(guān)系數(shù)據(jù)庫(kù)協(xié)同工作
9.1 常見(jiàn)數(shù)據(jù)路徑
9.1.1 Hadoop用于存儲(chǔ)檔案
9.1.2 使用Hadoop進(jìn)行數(shù)據(jù)預(yù)處理
9.1.3 使用Hadoop作為數(shù)據(jù)輸入工具
9.1.4 數(shù)據(jù)循環(huán)
9.2 配置MySQL
9.3 實(shí)踐環(huán)節(jié):安裝并設(shè)置MySQL
9.4 實(shí)踐環(huán)節(jié):配置MySQL允許遠(yuǎn)程連接
9.5 實(shí)踐環(huán)節(jié):建立員工數(shù)據(jù)庫(kù)
9.6 把數(shù)據(jù)導(dǎo)入Hadoop
9.6.1 使用MySQL工具手工導(dǎo)入
9.6.2 在mapper中訪問(wèn)數(shù)據(jù)庫(kù)
9.6.3 更好的方法:使用Sqoop
9.7 實(shí)踐環(huán)節(jié):下載并配置Sqoop
9.8 實(shí)踐環(huán)節(jié):把MySQL的數(shù)據(jù)導(dǎo)入HDFS
9.9 實(shí)踐環(huán)節(jié):把MySQL數(shù)據(jù)導(dǎo)出到Hive
9.10 實(shí)踐環(huán)節(jié):有選擇性的導(dǎo)入數(shù)據(jù)
9.11 實(shí)踐環(huán)節(jié):使用數(shù)據(jù)類(lèi)型映射
9.12 實(shí)踐環(huán)節(jié):通過(guò)原始查詢(xún)導(dǎo)入數(shù)據(jù)
9.13 從Hadoop導(dǎo)出數(shù)據(jù)
9.13.1 在reducer中把數(shù)據(jù)寫(xiě)入關(guān)系數(shù)據(jù)庫(kù)
9.13.2 利用reducer輸出SQL數(shù)據(jù)文件
9.13.3 仍是最好的方法
9.14 實(shí)踐環(huán)節(jié):把Hadoop數(shù)據(jù)導(dǎo)入MySQL
9.15 實(shí)踐環(huán)節(jié):把Hive數(shù)據(jù)導(dǎo)入MySQL
9.16 實(shí)踐環(huán)節(jié):改進(jìn)mapper并重新運(yùn)行數(shù)據(jù)導(dǎo)出命令
9.17 在AWS上使用Sqoop
9.18 小結(jié)
第10章 使用Flume收集數(shù)據(jù)
10.1 關(guān)于AWS的說(shuō)明
10.2 無(wú)處不在的數(shù)據(jù)
10.2.1 數(shù)據(jù)類(lèi)別
10.2.2 把網(wǎng)絡(luò)流量導(dǎo)入Hadoop
10.3 實(shí)踐環(huán)節(jié):把網(wǎng)絡(luò)服務(wù)器數(shù)據(jù)導(dǎo)入Hadoop
10.3.1 把文件導(dǎo)入Hadoop
10.3.2 潛在的問(wèn)題
10.4 Apache Flume簡(jiǎn)介
10.5 實(shí)踐環(huán)節(jié):安裝并配置Flume
10.6 實(shí)踐環(huán)節(jié):把網(wǎng)絡(luò)流量存入日志文件
10.7 實(shí)踐環(huán)節(jié):把日志輸出到控制臺(tái)
10.8 實(shí)踐環(huán)節(jié):把命令的執(zhí)行結(jié)果寫(xiě)入平面文件
10.9 實(shí)踐環(huán)節(jié):把遠(yuǎn)程文件數(shù)據(jù)寫(xiě)入本地平面文件
10.9.1 信源、信宿和信道
10.9.2 Flume配置文件
10.9.3 一切都以事件為核心
10.10 實(shí)踐環(huán)節(jié):把網(wǎng)絡(luò)數(shù)據(jù)寫(xiě)入HDFS
10.11 實(shí)踐環(huán)節(jié):加入時(shí)間戳
10.12 實(shí)踐環(huán)節(jié):多層Flume網(wǎng)絡(luò)
10.13 實(shí)踐環(huán)節(jié):把事件寫(xiě)入多個(gè)信宿
10.13.1 選擇器的類(lèi)型
10.13.2 信宿故障處理
10.13.3 使用簡(jiǎn)單元件搭建復(fù)雜系統(tǒng)
10.14 更高的視角
10.14.1 數(shù)據(jù)的生命周期
10.14.2 集結(jié)數(shù)據(jù)
10.14.3 調(diào)度
10.15 小結(jié)
第11章 展望未來(lái)
11.1 全書(shū)回顧
11.2 即將到來(lái)的Hadoop變革
11.3 其他版本的Hadoop軟件包
11.4 其他Apache項(xiàng)目
11.4.1 HBase
11.4.2 Oozie
11.4.3 Whir
11.4.4 Mahout
11.4.5 MRUnit
11.5 其他程序設(shè)計(jì)模式
11.5.1 Pig
11.5.2 Cascading
11.6 AWS資源
11.6.1 在EMR上使用HBase
11.6.2 SimpleDB
11.6.3 DynamoDB
11.7 獲取信息的渠道
11.7.1 源代碼
11.7.2 郵件列表和論壇
11.7.3 LinkedIn群組
11.7.4 Hadoop用戶(hù)群
11.7.5 會(huì)議
11.8 小結(jié)
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版