Hadoop實戰手冊 Hadoop实战手册

歐文斯 (Jonathan R.Owens), 倫茨 (Jon Lentz), 費米亞諾 (Brian Femiano)

買這商品的人也買了...

商品描述

 

<內容簡介>

這是一本Hadoop實用手冊,主要針對實際問題給出相應的解決方案。歐文斯等編著的《Hadoop實戰手冊》特色是以實踐結合理論分析,手把手教讀者如何操作,並且對每個操作都做詳細的解釋,對一些重要的知識點也做了必要的拓展。全書共包括3個部分,第一部分為基礎篇,主要介紹Hadoop數據導入導出、HDFS的概述、Pig與Hive的使用、ETL和簡單的數據處理,還介紹了MapReduce的調試方式;第二部分為數據分析高級篇,主要介紹高級聚合、大數據分析等技巧;第三部分為系統管理篇,主要介紹Hadoop的部署的各種模式、添加新節點、退役節點、快速恢復、MapReduce調優等。
《Hadoop實戰手冊》適合各個層次的Hadoop技術人員閱讀。通過閱讀《Hadoop實戰手冊》,Hadoop初學者可以使用Hadoop來進行數據處理,Hadoop工程師或者數據挖掘工程師可以解決複雜的業務分析,Hadoop系統管理員可以更好地進行日常運維。《Hadoop實戰手冊》也可作為一本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

 

<作者介紹>

(美)歐文斯//倫茨//費米亞諾|譯者:傅傑//趙磊//盧學裕