注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)Hadoop硬實(shí)戰(zhàn)

Hadoop硬實(shí)戰(zhàn)

Hadoop硬實(shí)戰(zhàn)

定 價(jià):¥99.00

作 者: (美)亞歷克斯·霍姆斯 著,梁李印,寧青,楊卓犖 譯
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)/網(wǎng)絡(luò) 軟件工程/開(kāi)發(fā)項(xiàng)目管理

ISBN: 9787121250729 出版時(shí)間: 2015-01-01 包裝:
開(kāi)本: 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  Hadoop是一個(gè)開(kāi)源的MapReduce平臺(tái),設(shè)計(jì)運(yùn)行在大型分布式集群環(huán)境中,為開(kāi)發(fā)者進(jìn)行數(shù)據(jù)存儲(chǔ)、管理以及分析提供便利的方法。本書詳細(xì)講解了Hadoop和MapReduce的基本概念,并收集了85個(gè)問(wèn)題及其解決方案。在關(guān)鍵問(wèn)題領(lǐng)域?qū)A(chǔ)概念和實(shí)戰(zhàn)方法做了權(quán)衡。

作者簡(jiǎn)介

  Alex Holmes,是高級(jí)軟件工程師,在使用Hadoop解決大數(shù)據(jù)問(wèn)題上經(jīng)驗(yàn)十分豐富。他曾在JavaOne和Jazoon做過(guò)演講并在VeriSign負(fù)責(zé)技術(shù)指導(dǎo)。

圖書目錄

前言
致謝
關(guān)于本書
第1 部分 背景和基本原理
1 跳躍中的Hadoop
1.1 什么是Hadoop
1.1.1 Hadoop 的核心組件
1.1.2 Hadoop 生態(tài)圈
1.1.3 物理架構(gòu)
1.1.4 誰(shuí)在使用Hadoop
1.1.5 Hadoop 的局限性
1.2 運(yùn)行Hadoop
1.2.1 下載并安裝Hadoop
1.2.2 Hadoop 的配置
1.2.3 CLI 基本命令
1.2.4 運(yùn)行MapReduce 作業(yè)
1.3 本章小結(jié)
第2 部分 數(shù)據(jù)邏輯.
2 將數(shù)據(jù)導(dǎo)入導(dǎo)出Hadoop.
2.1 導(dǎo)入導(dǎo)出的關(guān)鍵要素
2.2 將數(shù)據(jù)導(dǎo)入Hadoop .
2.2.1 將日志文件導(dǎo)入Hadoop
技術(shù)點(diǎn)1 使用Flume 將系統(tǒng)日志文件導(dǎo)入HDFS
2.2.2 導(dǎo)入導(dǎo)出半結(jié)構(gòu)化和二進(jìn)制文件
技術(shù)點(diǎn)2 自動(dòng)復(fù)制文件到HDFS 的機(jī)制
技術(shù)點(diǎn)3 使用Oozie 定期執(zhí)行數(shù)據(jù)導(dǎo)入活動(dòng)
2.2.3 從數(shù)據(jù)庫(kù)中拉數(shù)據(jù)
技術(shù)點(diǎn)4 使用MapReduce 將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)
技術(shù)點(diǎn)5 使用Sqoop 從MySQL 導(dǎo)入數(shù)據(jù)
2.2.4 HBase
技術(shù)點(diǎn)6 HBase 導(dǎo)入HDFS
技術(shù)點(diǎn)7 將HBase 作為MapReduce 的數(shù)據(jù)源
2.3 將數(shù)據(jù)導(dǎo)出Hadoop
2.3.1 將數(shù)據(jù)導(dǎo)入本地文件系統(tǒng)
技術(shù)點(diǎn)8 自動(dòng)復(fù)制HDFS 中的文件
2.3.2 數(shù)據(jù)庫(kù)
技術(shù)點(diǎn)9 使用Sqoop 將數(shù)據(jù)導(dǎo)入MySQL
2.3.3 Hbase
技術(shù)點(diǎn)10 將數(shù)據(jù)從HDFS 導(dǎo)入HBase
技術(shù)點(diǎn)11 使用HBase 作為MapReduce 的數(shù)據(jù)接收器
2.4 本章小結(jié)
3 數(shù)據(jù)序列化――處理文本文件及其他格式的文件
3.1 了解MapReduce 中的輸入和輸出
3.1.1 數(shù)據(jù)輸入
3.1.2 數(shù)據(jù)輸出
3.2 處理常見(jiàn)的序列化格式
3.2.1 XML .
技術(shù)點(diǎn)12 MapReduce 和XML
3.2.2 JSON .
技術(shù)點(diǎn)13 MapReduce 和JSON .
3.3 大數(shù)據(jù)的序列化格式
3.3.1 比較SequenceFiles、Protocol Buffers、Thrift 和 Avro
3.3.2 Sequence File
技術(shù)點(diǎn)14 處理SequenceFile
3.3.3 Protocol Buffers
技術(shù)點(diǎn)15 整合Protocol Buffers 和MapReduce .
3.3.4 Thrift .
技術(shù)點(diǎn)16 使用Thrift
3.3.5 Avro
技術(shù)點(diǎn)17 MapReduce 的下一代數(shù)據(jù)序列化技術(shù)
3.4 自定義文件格式
3.4.1 輸入輸出格式
技術(shù)點(diǎn)18 輸入和輸出格式為CSV 的文件
3.4.2 output committing 的重要性
3.5 本章小結(jié)
第3 部分 大數(shù)據(jù)模式
4 處理大數(shù)據(jù)的MapReduce 模式
4.1 Join
4.1.1 Repartition Join
技術(shù)點(diǎn)19 優(yōu)化repartition join
4.1.2 Replicated Join
4.1.3 Semi-join
技術(shù)點(diǎn)20 實(shí)現(xiàn)semi-join
4.1.4 為你的數(shù)據(jù)挑選最優(yōu)的合并策略
4.2 排序
4.2.1 二次排序
技術(shù)點(diǎn)21 二次排序的實(shí)現(xiàn)
4.2.2 整體并行排序
技術(shù)點(diǎn)22 通過(guò)多個(gè)reducer 對(duì)key 進(jìn)行排序
4.3 抽樣
技術(shù)點(diǎn)23 蓄水池抽樣(reservoir 抽樣)
4.4 本章小結(jié)
5 優(yōu)化HDFS 處理大數(shù)據(jù)的技術(shù)
5.1 處理小文件
技術(shù)點(diǎn)24 使用Avro 存儲(chǔ)大量小文件
5.2 通過(guò)壓縮提高數(shù)據(jù)存儲(chǔ)效率
技術(shù)點(diǎn)25 選擇合適的壓縮解碼器
技術(shù)點(diǎn)26 在HDFS、MapReduce、Pig 和Hive 中使用數(shù)據(jù)壓縮
技術(shù)點(diǎn)27 在MapReduce、Hive 和Pig 中處理可分割的LZOP
5.3 本章小結(jié)
6 診斷和優(yōu)化性能問(wèn)題
6.1 衡量MapReduce 和你的環(huán)境
6.1.1 提取作業(yè)統(tǒng)計(jì)信息的工具
6.1.2 監(jiān)控
6.2 確定性能問(wèn)題的原因
6.2.1 了解哪些因素會(huì)影響MapReduce 作業(yè)的性能
6.2.2 map 端異常
技術(shù)點(diǎn)28 發(fā)現(xiàn)輸入數(shù)據(jù)中的坑
技術(shù)點(diǎn)29 確定map 端數(shù)據(jù)傾斜問(wèn)題
技術(shù)點(diǎn)30 判定map 任務(wù)吞吐量
技術(shù)點(diǎn)31 小文件
技術(shù)點(diǎn)32 不可切割的文件
6.2.3 reduce 端問(wèn)題
技術(shù)點(diǎn)33 reducer 任務(wù)數(shù)過(guò)大或過(guò)小 .
技術(shù)點(diǎn)34 定位reduce 端數(shù)據(jù)傾斜問(wèn)題
技術(shù)點(diǎn)35 確定reduce 任務(wù)是否存在整體吞吐量過(guò)低
技術(shù)點(diǎn)36 緩慢的洗牌(shuffle)和排序 .
6.2.4 任務(wù)的一般性能問(wèn)題
技術(shù)點(diǎn)37 作業(yè)競(jìng)爭(zhēng)和調(diào)度器限制
技術(shù)點(diǎn)38 使用堆轉(zhuǎn)儲(chǔ)來(lái)查找未優(yōu)化的用戶代碼
6.2.5 硬件性能問(wèn)題
技術(shù)點(diǎn)39 查找硬件的失效
技術(shù)點(diǎn)40 CPU 競(jìng)爭(zhēng) .
技術(shù)點(diǎn)41 內(nèi)存交換
技術(shù)點(diǎn)42 磁盤健康
技術(shù)點(diǎn)43 網(wǎng)絡(luò)
6.3 可視化
技術(shù)點(diǎn)44 提取并可視化任務(wù)執(zhí)行時(shí)間
6.4 優(yōu)化 .
6.4.1 剖析MapReduce 的用戶代碼
技術(shù)點(diǎn)45 剖析map 和reduce 任務(wù)
6.4.2 參數(shù)配置
6.4.3 優(yōu)化 shuffle 和 sort 階段
技術(shù)點(diǎn)46 避免reducer
技術(shù)點(diǎn)47 過(guò)濾和投影
技術(shù)點(diǎn)48 使用 combiner
技術(shù)點(diǎn)49 超炫的使用比較器的快速排序
6.4.4 減輕傾斜
技術(shù)點(diǎn)50 收集傾斜數(shù)據(jù)
技術(shù)點(diǎn)51 減輕reducer 階段傾斜
6.4.5 在MapReduce 中優(yōu)化用戶的Java 代碼
6.4.6 數(shù)據(jù)序列化
6.5 本章小結(jié)
第4 部分 數(shù)據(jù)科學(xué).
7 數(shù)據(jù)結(jié)構(gòu)和算法的運(yùn)用
7.1 使用圖進(jìn)行數(shù)據(jù)建模和解決問(wèn)題
7.1.1 模擬圖
7.1.2 最短路徑算法
技術(shù)點(diǎn)52 找出兩個(gè)用戶間的最短距離
7.1.3 friends-of-friends(FoF)
技術(shù)點(diǎn)53 計(jì)算FoF
7.1.4 PageRank
技術(shù)點(diǎn)54 通過(guò)Web 圖計(jì)算PageRank
7.2 Bloom filter
技術(shù)點(diǎn)55 在MapReduce 中并行創(chuàng)建Bloom filter
技術(shù)點(diǎn)56 通過(guò)MapReduce 對(duì)Bloom filter 進(jìn)行semi-join
7.3 本章小結(jié)
8 結(jié)合R 和Hadoop 進(jìn)行數(shù)據(jù)統(tǒng)計(jì)
8.1 比較R 和MapReduce 集成的幾種方法
8.2 R 基礎(chǔ)知識(shí)
8.3 R 和Streaming
8.3.1 Streaming 和map-only R
技術(shù)點(diǎn)57 計(jì)算股票日平均值
8.3.2 Streaming、R 和完整的MapReduce
技術(shù)點(diǎn)58 計(jì)算股票的累積均值
8.4 Rhipe――將客戶端R 和Hadoop 進(jìn)行集成
技術(shù)點(diǎn)59 使用Rhipe 計(jì)算CMA
8.5  RHadoop――更簡(jiǎn)單地在客戶端集成R 和Hadoop 的技術(shù)
技術(shù)點(diǎn)60 使用RHadoop 計(jì)算CMA
8.6 本章小結(jié)
9 使用Mahout 進(jìn)行預(yù)測(cè)分析
9.1 使用recommender 提供產(chǎn)品建議
9.1.1 相似性度量的可視化
9.1.2 GroupLens 數(shù)據(jù)集
9.1.3 基于用戶的recommender
9.1.4 基于物品的recommender
技術(shù)點(diǎn)61 使用基于物品的recommender 進(jìn)行電影評(píng)級(jí)
9.2 classification
9.2.1 編寫一個(gè)手動(dòng)naïve Bayesian 分類器
9.2.2 可擴(kuò)展的垃圾郵件偵測(cè)分類系統(tǒng)
技術(shù)點(diǎn)62 使用Mahout 訓(xùn)練和測(cè)試?yán)]件分類器
9.2.3 其他分類算法
9.3 K-means clustering
9.3.1 簡(jiǎn)單介紹
9.3.2 并行執(zhí)行K-means
技術(shù)點(diǎn)63 K-means 處理合成的二維數(shù)據(jù)集
9.3.3 K-means 和文本
9.3.4 其他Mahout clustering 算法 .
9.4 本章小結(jié)
第5 部分 馴服大象
10 深入解析 Hive
10.1 Hive 基礎(chǔ)
10.1.1 安裝
10.1.2 元存儲(chǔ)
10.1.3 數(shù)據(jù)庫(kù)、表、分區(qū)和存儲(chǔ)
10.1.4 數(shù)據(jù)模型
10.1.5 查詢語(yǔ)言
10.1.6 交互式和非交互式Hive
10.2 使用Hive 進(jìn)行數(shù)據(jù)分析
10.2.1 序列化和反序列化
技術(shù)點(diǎn)64 載入日志文件
10.2.2 UDF、分區(qū)、分桶和壓縮
技術(shù)點(diǎn)65 編寫UDF 和壓縮分區(qū)表
10.2.3 數(shù)據(jù)合并
技術(shù)點(diǎn)66 優(yōu)化Hive 合并
10.2.4 分組、排序和explain
10.3 本章小結(jié)
11 Pig 流管道
11.1 Pig 基礎(chǔ)
11.1.1 安裝
11.1.2 架構(gòu)
11.1.3 PigLatin.
11.1.4 數(shù)據(jù)類型
11.1.5 操作符和函數(shù)
11.1.6 交互式和非交互式的Pig
11.2 使用Pig 在日志數(shù)據(jù)中發(fā)現(xiàn)惡意行為者
11.2.1 加載數(shù)據(jù)
技術(shù)點(diǎn)67 加載Apache 日志文件
11.2.2 過(guò)濾和投影
技術(shù)點(diǎn)68 通過(guò)過(guò)濾和投影減少數(shù)據(jù)處理量
11.2.3 分組和聚合UDF
技術(shù)點(diǎn)69 IP 地址的分組和計(jì)數(shù)
11.2.4 使用UDF 進(jìn)行定位
技術(shù)點(diǎn)70 使用分布式緩存進(jìn)行IP 地理定位
11.2.5 流
技術(shù)點(diǎn)71 使用你的腳本合并Pig
11.2.6 合并
技術(shù)點(diǎn)72 在Pig 中合并數(shù)據(jù)
11.2.7 排序
技術(shù)點(diǎn)73 元組排序
11.2.8 存儲(chǔ)數(shù)據(jù)
技術(shù)點(diǎn)74 在SequenceFiles 中存儲(chǔ)數(shù)據(jù)
11.3 使用Pig 優(yōu)化用戶的工作流程
技術(shù)點(diǎn)75 通過(guò)4 步快速處理大數(shù)據(jù)
11.4 性能
技術(shù)點(diǎn)76 Pig 優(yōu)化
11.5 本章小結(jié)
12 Crunch 及相關(guān)技術(shù)
12.1 什么是Crunch
12.1.1 背景和概念
12.1.2 基本原理
12.1.3 簡(jiǎn)單示例
12.2 發(fā)現(xiàn)日志中最熱門的URL
技術(shù)點(diǎn)77 使用Crunch 進(jìn)行日志解析和基本分析
12.3 合并
技術(shù)點(diǎn)78 Crunch 的repartition join
12.4 Cascading
12.5 本章小結(jié)
13 測(cè)試和調(diào)試.
13.1 測(cè)試
13.1.1 有效的單元測(cè)試的基本要素
13.1.2 MRUnit .
技術(shù)點(diǎn)79 MapReduce 函數(shù)、作業(yè)和管道的單元測(cè)試
13.1.3 LocalJobRunner
技術(shù)點(diǎn)80 用LocalJobRunner 進(jìn)行重量級(jí)的作業(yè)測(cè)試
13.1.4 集成和QA 測(cè)試
13.2 調(diào)試用戶空間的問(wèn)題
13.2.1 訪問(wèn)任務(wù)日志
技術(shù)點(diǎn)81 檢查任務(wù)日志
13.2.2 調(diào)試不可預(yù)期的輸入
技術(shù)點(diǎn)82 定位input split 問(wèn)題
13.2.3 調(diào)試JVM 配置
技術(shù)點(diǎn)83 解決任務(wù)的JVM 啟動(dòng)參數(shù)
13.2.4 高效調(diào)試的編碼準(zhǔn)則
技術(shù)點(diǎn)84 調(diào)試和錯(cuò)誤處理
13.3 MapReduce 陷阱
技術(shù)點(diǎn)85 MapReduce 反模式
13.4 本章小結(jié)
附錄A 相關(guān)技術(shù)
附錄B Hadoop 內(nèi)置的數(shù)據(jù)導(dǎo)入導(dǎo)出工具
附錄C HDFS 解剖.
附錄D 優(yōu)化MapReduce 合并框架
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)