本書系統(tǒng)介紹大數(shù)據技術的原理與應用,主要內容包括基本概念、分布式計算編程基礎、Hadoop系統(tǒng)、分布式文件系統(tǒng)HDFS、分布式數(shù)據庫HBase、分布式計算框架MapReduce、數(shù)據倉庫Hive、流計算Spark Streaming、數(shù)據可視化、大數(shù)據的電商精準營銷案例、好友推薦案例等章節(jié),涵蓋了海量數(shù)據的高效存儲、非結構化數(shù)據存儲和隨機訪問、分布式并行編程、數(shù)據倉庫、實時計算、數(shù)據可視化、電商精準營銷、好友推薦等各個方面的內容。本書以簡單易懂的語言、生動有趣的實例和圖形展示知識點,將概念、原理與應用融會貫通,并對大數(shù)據工具軟件進行了細致的梳理。
高永平,男,漢族,江西峽江,中共黨員;碩士生導師、副教授;多年來一直從事計算機科學與技術專業(yè)的教學與科研工作。主要研究方向:數(shù)據庫技術與應用、軟件工程與知識工程。主講了本課程和研究生的主要課程為:《java程序設計(雙語)》、《數(shù)據結構與算法》、《Web程序設計》、《面向對象程序設計》、《軟件工程》、《高級軟件工程》、《數(shù)據庫原理與應用》等。在國內外期刊公開發(fā)表各類科研和教研論文23篇,其中被EI檢索論文8篇,核心期刊發(fā)表論文4篇。主持或作為主要參與人的科研和教研項目18項,其中國家自然2項,省級科研項目9項,省級教研7項;另外還有橫向課題5項。獲得省高校科技成果二等獎1項,省教學成果獎二等獎和三等獎各1項;校教學成果獎5項。
第1章 緒論 1
1.1 大數(shù)據的發(fā)展歷程 1
1.2 大數(shù)據的概念 4
1.3 大數(shù)據的特征 5
1.4 大數(shù)據的應用 6
1.5 大數(shù)據分析方法 10
1.6 大數(shù)據面臨的挑戰(zhàn) 11
習題 12
第2章 分布式計算編程基礎 13
2.1 分布式系統(tǒng) 13
2.2 分布式計算架構 15
2.3 分布式文件系統(tǒng) 16
2.4 CAP 定理 18
習題 21
第3章 大數(shù)據處理框架 Hadoop 22
3.1 Hadoop簡介 22
3.2 Hadoop 生態(tài)系統(tǒng) 24
3.3 Hadoop 的安裝與使用 31
習題 40
第4章 Hadoop 分布式文件系統(tǒng) 42
4.1 HDFS 簡介 42
4.2 HDFS的設計原則 43
4.3 HDFS 的核心概念 44
4.4 HDFS 的體系結構 45
4.5 HDFS 的存儲原理 47
4.6 HDFS 的數(shù)據讀寫流程 49
4.7 HDFS 的編程實現(xiàn) 53
習題 57
第5章 分布式數(shù)據庫 HBase 59
5.1 HBase 簡介 59
5.2 HBase 數(shù)據模型 60
5.3 HBase 的系統(tǒng)架構 64
5.4 HBase 表結構設計 67
5.5 HBase 的數(shù)據讀寫流程 69
5.6 HBase 編程實踐 72
習題 76
第6章 分布式計算框架 MapReduce 77
6.1 MapReduce 簡介 77
6.2 MapReduce 的計算模型 77
6.3 MapReduce 的工作原理 78
6.4 MapReduce 編程實踐 81
習題 89
第7章 數(shù)據倉庫 Hive 91
7.1 Hive 簡介 91
7.2 Hive 的架構 93
7.3 Hive 的數(shù)據類型及應用 95
7.4 Hive 的數(shù)據模型 97
7.5 DDL 的應用 98
7.6 DML 的應用 101
7.7 JDBC 訪問 103
習題 104
第8章 Spark Streaming 105
8.1 流計算概述 105
8.2 流計算的概念 106
8.3 Spark 概述 107
8.4 Spark Standalone 模式的架構 108
8.5 Spark Streaming簡介 110
8.6 編寫 Spark Streaming 程序的基本步驟 111
8.7 創(chuàng)建 StreamingContext 對象 111
8.8 Spark Streaming 數(shù)據源 112
8.9 Spark Streaming 程序示例 113
習題 116
第9章 數(shù)據可視化 117
9.1 可視化概述 117
9.2 可視化的作用 118
9.3 可視化工具 119
9.4 可視化典型案例 125
習題 126
第10章 基于大數(shù)據的電商精準營銷 128
10.1 數(shù)據預處理概述 128
10.2 數(shù)據探索與可視化 132
第11章 好友推薦案例分析 140
11.1 任務需求 140
11.2 準備工作 140
11.3 創(chuàng)建 Maven 項目 143
11.4 FriendRecommend 程序的實現(xiàn) 148
11.5 運行程序與結果驗證 157
參考文獻 161