自己動手做大數據系統

自己動手做大數據系統

《自己動手做大數據系統》 一書作者張魁、張粵磊、劉未昕、吳茂貴,電子工業出版社2016年10月出版

內容提要

如果你是一位在校大學生,對大數據感興趣,也知道使用的企業越來越多,市場需求更是日新月異,但苦於自己基礎不夠,心有餘而力不足;也看過不少大數據方面的書籍、部落格、視頻等,但感覺進步不大;如果你是一位在職人員,但目前主要使用傳統技術,雖然對大數據很有興趣,也深知其對未來的影響,但因時間不夠,雖有一定的基礎,常常也是打兩天魚、曬三天網,進展不是很理想。

如果你有上述疑惑或遇到相似問題,《自己動手做大數據系統》正好比較適合你。《自己動手做大數據系統》從OpenStack雲平台搭建、軟體部署、需求開發實現到結果展示,以縱向角度講解了生產性大數據項目上線的整個流程;以完成一個實際項目需求貫穿各章節,講述了Hadoop生態圈中網際網路爬蟲技術、Sqoop、Hive、HBase組件協同工作流程,並展示了Spark計算框架、R製圖軟體和SparkRHive組件的使用方法。《自己動手做大數據系統》的一大特色是提供了實際操作環境,用戶可以線上登錄雲平台來動手操作書中的數據和代碼。

目錄

第1章 為什麼要自己動手做大數據系統1

1.1 大數據時代1

1.2 實戰大數據項目2

1.3 大數據演練平台2

第2章 項目背景及準備4

2.1 項目背景4

2.2 項目簡介4

2.3 項目架構4

2.4 作業系統5

2.5 數據存儲7

2.6 數據處理8

2.7 開發工具9

2.8 調試工具10

2.9 版本管理10

第3章 大數據環境搭建和配置11

3.1 各組件功能說明11

3.1.1 各種數據源的採集工具12

3.1.2 企業大數據存儲工具12

3.1.3 企業大數據系統的數據倉庫工具12

3.1.4 企業大數據系統的分析計算工具13

3.1.5 企業大數據系統的資料庫工具13

3.2 大數據系統各組件安裝部署配置13

3.2.1 安裝的前期準備工作13

3.2.2 Hadoop基礎環境安裝及配置15

3.2.3 Hive安裝及配置21

3.2.4 Sqoop安裝及配置24

3.2.5 Spark安裝及配置30

3.2.6 Zookeeper安裝及配置31

3.2.7 HBase安裝及配置33

3.3 自動化安裝及部署說明35

3.3.1 自動化安裝及部署整體架構設計35

3.3.2 大數據系統自動化部署邏輯調用關係36

3.4 本章小結43

第4章 大數據的獲取44

4.1 使用爬蟲獲取網際網路數據45

4.2 Python和Scrapy 框架的安裝45

4.3 抓取和解析招聘職位信息47

4.4 職位信息的落地51

4.5 兩個爬蟲配合工作53

4.6 讓爬蟲的架構設計更加合理55

4.7 獲取數據的其他方式57

4.8 使用Sqoop同步論壇中帖子數據57

4.9 本章小結59

第5章 大數據的處理60

5.1 Hive是什麼60

5.2 為什麼使用Hive做數據倉庫建模60

5.3 飛谷項目中Hive建模步驟61

5.3.1 邏輯模型的創建62

5.3.2 物理模型的創建67

5.3.3 將爬蟲數據導入stg_job表74

5.4 使用Hive進行數據清洗轉換77

5.5 數據清洗轉換的必要性78

5.6 使用HiveQL清洗數據、提取維度信息79

5.6.1 使用HQL清洗數據79

5.6.2 提取維度信息82

5.7 定義Hive UDF封裝處理邏輯85

5.7.1 Hive UDF的開發、部署和調用86

5.7.2 Python版本的UDF 89

5.8 使用左外連線構造聚合表rpt_job 92

5.9 讓數據處理自動調度96

5.9.1 HQL的幾種執行方式96

5.9.2 Hive Thrift服務99

5.9.3 使用JDBC連線Hive 100

5.9.4 Python調用HiveServer服務103

5.9.5 用crontab實現的任務調度105

5.10 本章小結107

第6章 大數據的存儲108

6.1 NoSQL及HBase簡介108

6.2 HBase中的主要概念110

6.3 HBase客戶端及JavaAPI 111

6.4 Hive數據導入HBase的兩種方案114

6.4.1 利用既有的JAR包實現整合114

6.4.2 手動編寫MapReduce程式116

6.5 使用Java API查詢HBase中的職位信息122

6.5.1 為什麼是HBase而非Hive 122

6.5.2 多條件組合查詢HBase中的職位信息123

6.6 如何顯示職位表中的某條具體信息132

6.7 本章小結133

第7章 大數據的展示134

7.1 概述134

7.2 數據分析的一般步驟135

7.3 用R來做數據分析展示135

7.3.1 在Ubuntu上安裝R 135

7.3.2 R的基本使用方式137

7.4 用Hive充當R的數據來源139

7.4.1 RHive組件139

7.4.2 把R圖表整合到Web頁面中145

7.5 本章小結151

第8章 大數據的分析挖掘152

8.1 基於Spark的數據挖掘技術152

8.2 Spark和Hadoop的關係153

8.3 在Ubuntu上安裝Spark集群154

8.3.1 JDK和Hadoop的安裝154

8.3.2 安裝Scala 154

8.3.3 安裝Spark 155

8.4 Spark的運行方式157

8.5 使用Spark替代Hadoop Yarn引擎160

8.5.1 使用spark-sql查看Hive表160

8.5.2 在beeline客戶端使用Spark引擎161

8.5.3 在Java代碼中引用Spark的ThriftServer 163

8.6 對招聘公司名稱做全文檢索168

8.6.1 從HDFS數據源構造JavaRDD 169

8.6.2 使用Spark SQL操作RDD 173

8.6.3 把RDD運行結果展現在前端174

8.7 如何把Spark用得更好175

8.8 SparkR組件的使用177

8.8.1 SparkR的安裝及啟動177

8.8.2 運行自帶的Sample例子179

8.8.3 利用SparkR生成職位統計餅圖179

8.9 本章小結181

第9章 自己動手搭建支撐大數據系統的雲平台182

9.1 雲平台架構182

9.1.1 一期雲基礎平台架構182

9.1.2 二期雲基礎平台架構184

9.2 雲平台搭建及部署185

9.2.1 安裝組件前準備185

9.2.2 Identity(Keystone)組件190

9.2.3 Image(Glance)組件198

9.2.4 Compute(Nova)組件201

9.2.5 Storage(Cinder)組件206

9.2.6 Networking(Neutron)組件210

9.2.7 Ceph分散式存儲系統221

9.2.8 Dashboard(Horizon)組件230

9.3 Identity(Keystone)與LDAP的整合232

9.4 配置Image組件大鏡像部署235

9.5 配置業務系統無縫遷移236

9.6 本章小結237

參考文獻238

相關詞條

熱門詞條

聯絡我們