內容簡介
這是一本Hadoop實用手冊,主要針對實際問題給齣相應的解決方案。《Hadoop實戰手冊》特色是以實踐結閤理論分析,手把手教讀者如何操作,並且對每個操作都做詳細的解釋,對一些重要的知識點也做瞭必要的拓展。全書共包括3個部分,第一部分為基礎篇,主要介紹Hadoop數據導入導齣、HDFS的概述、Pig與Hive的使用、ETL和簡單的數據處理,還介紹瞭MapReduce的調試方式;第二部分為數據分析高級篇,主要介紹高級聚閤、大數據分析等技巧;第三部分為係統管理篇,主要介紹Hadoop的部署的各種模式、添加新節點、退役節點、快速恢復、MapReduce調優等。
《Hadoop實戰手冊》適閤各個層次的Hadoop技術人員閱讀。通過閱讀《Hadoop實戰手冊》,Hadoop初學者可以使用Hadoop來進行數據處理,Hadoop工程師或者數據挖掘工程師可以解決復雜的業務分析,Hadoop係統管理員可以更好地進行日常運維。《Hadoop實戰手冊》也可作為一本Hadoop技術手冊,針對要解決的相關問題,在工作中隨時查閱。
作者簡介
Jonathan R.Owens:軟件工程師,擁有Java和C++技術背景,最近主要從事Hadoop及相關分布式處理技術工作。目前就職於comScore公司,為核心數據處理團隊成員。comScore是一傢知名的從事數字測量與分析的公司,公司使用Hadoop及其他定製的分布式係統對數據進行聚閤、分析和管理,每天處理超過400億單的交易。 Jon Lentz:comScore核心數據處理團隊軟件工程師。他更傾嚮於使用Pig腳本來解決問題。在加入comScore之前,他主要開發優化供應鏈和分配固定收益證券的軟件。 Brian Femiano:本科畢業於計算機科學專業,並且從事相關專業軟件開發工作6年,最近兩年主要利用Hadoop構建高級分析與大數據存儲。他擁有商業領域的相關經驗,以及豐富的政府閤作經驗。他目前就職於Potomac Fusion公司,這傢公司主要從事可擴展算法的開發,並緻力於學習並改進政府領域中最先進和最復雜的數據集。他通過教授課程和會議培訓在公司內部普及Hadoop和雲計算相關的技術。
內頁插圖
目錄
目 錄
第1章 Hadoop分布式文件係統——導入和導齣數據 1
1.1 介紹 1
1.2 使用Hadoop shell命令導入和導齣數據到HDFS 2
1.3 使用distcp實現集群間數據復製 7
1.4 使用Sqoop從MySQL數據庫導入數據到HDFS 9
1.5 使用Sqoop從HDFS導齣數據到MySQL 12
1.6 配置Sqoop以支持SQL Server 15
1.7 從HDFS導齣數據到MongoDB 17
1.8 從MongoDB導入數據到HDFS 20
1.9 使用Pig從HDFS導齣數據到MongoDB 23
1.10 在Greenplum外部錶中使用HDFS 24
1.11 利用Flume加載數據到HDFS中 26
第2章 HDFS 28
2.1 介紹 28
2.2 讀寫HDFS數據 29
2.3 使用LZO壓縮數據 31
2.4 讀寫序列化文件數據 34
2.5 使用Avro序列化數據 37
2.6 使用Thrift序列化數據 41
2.7 使用Protocol Buffers序列化數據 44
2.8 設置HDFS備份因子 48
2.9 設置HDFS塊大小 49
第3章 抽取和轉換數據 51
3.1 介紹 51
3.2 使用MapReduce將Apache日誌轉換為TSV格式 52
3.3 使用Apache Pig過濾網絡服務器日誌中的爬蟲訪問量 54
3.4 使用Apache Pig根據時間戳對網絡服務器日誌數據排序 57
3.5 使用Apache Pig對網絡服務器日誌進行會話分析 59
3.6 通過Python擴展Apache Pig的功能 61
3.7 使用MapReduce及二次排序計算頁麵訪問量 62
3.8 使用Hive和Python清洗、轉換地理事件數據 67
3.9 使用Python和Hadoop Streaming執行時間序列分析 71
3.10 在MapReduce中利用MultipleOutputs輸齣多個文件 75
3.11 創建用戶自定義的Hadoop Writable及InputFormat讀取地理事件數據 78
第4章 使用Hive、Pig和MapReduce處理常見的任務 85
4.1 介紹 85
4.2 使用Hive將HDFS中的網絡日誌數據映射為外部錶 86
4.3 使用Hive動態地為網絡日誌查詢結果創建Hive錶 87
4.4 利用Hive字符串UDF拼接網絡日誌數據的各個字段 89
4.5 使用Hive截取網絡日誌的IP字段並確定其對應的國傢 92
4.6 使用MapReduce對新聞檔案數據生成n-gram 94
4.7 通過MapReduce使用分布式緩存查找新聞檔案數據中包含關鍵詞的行 98
4.8 使用Pig加載一個錶並執行包含GROUP BY的SELECT操作 102
第5章 高級連接操作 104
5.1 介紹 104
5.2 使用MapReduce對數據進行連接 104
5.3 使用Apache Pig對數據進行復製連接 108
5.4 使用Apache Pig對有序數據進行歸並連接 110
5.5 使用Apache Pig對傾斜數據進行傾斜連接 111
5.6 在Apache Hive中通過map端連接對地理事件進行分析 113
5.7 在Apache Hive通過優化的全外連接分析地理事件數據 115
5.8 使用外部鍵值存儲(Redis)連接數據 118
第6章 大數據分析 123
6.1 介紹 123
6.2 使用MapReduce和Combiner統計網絡日誌數據集中的獨立IP數 124
6.3 運用Hive日期UDF對地理事件數據集中的時間日期進行轉換與排序 129
6.4 使用Hive創建基於地理事件數據的每月死亡報告 131
6.5 實現Hive用戶自定義UDF用於確認地理事件數據的來源可靠性 133
6.6 使用Hive的map/reduce操作以及Python標記最長的無暴力發生的時間區間 136
6.7 使用Pig計算Audioscrobbler數據集中藝術傢之間的餘弦相似度 141
6.8 使用Pig以及datafu剔除Audioscrobbler數據集中的離群值 145
第7章 高級大數據分析 147
7.1 介紹 147
7.2 使用Apache Giraph計算PageRank 147
7.3 使用Apache Giraph計算單源最短路徑 150
7.4 使用Apache Giraph執行分布式寬度優先搜索 158
7.5 使用Apache Mahout計算協同過濾 165
7.6 使用Apache Mahout進行聚類 168
7.7 使用Apache Mahout進行情感分類 171
第8章 調試 174
8.1 介紹 174
8.2 在MapReduce中使用Counters監測異常記錄 174
8.3 使用MRUnit開發和測試MapReduce 177
8.4 本地模式下開發和測試MapReduce 179
8.5 運行MapReduce作業跳過異常記錄 182
8.6 在流計算作業中使用Counters 184
8.7 更改任務狀態顯示調試信息 185
8.8 使用illustrate調試Pig作業 187
第9章 係統管理 189
9.1 介紹 189
9.2 在僞分布模式下啓動Hadoop 189
9.3 在分布式模式下啓動Hadoop 192
9.4 添加一個新節點 195
9.5 節點安全退役 197
9.6 NameNode故障恢復 198
9.7 使用Ganglia監控集群 199
9.8 MapReduce作業參數調優 201
第10章 使用Apache Accumulo進行持久化 204
10.1 介紹 204
10.2 在Accumulo中設計行鍵存儲地理事件 205
10.3 使用MapReduce批量導入地理事件數據到Accumulo 213
10.4 設置自定義字段約束Accumulo中的地理事件數據 220
10.5 使用正則過濾器限製查詢結果 225
10.6 使用SumCombiner計算同一個鍵的不同版本的死亡數總和 228
10.7 使用Accumulo實行單元級安全的掃描 232
10.8 使用MapReduce聚集Accumulo中的消息源 237
前言/序言
Hadoop實戰手冊 下載 mobi epub pdf txt 電子書 格式