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

Hadoop硬實戰(zhàn)

Hadoop硬實戰(zhàn)

定 價:¥99.00

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

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

內(nèi)容簡介

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

作者簡介

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