大數據存儲

譚旭,李程文

  • 出版商: 人民郵電
  • 出版日期: 2022-08-01
  • 定價: $299
  • 售價: 8.5$254
  • 語言: 簡體中文
  • 頁數: 222
  • ISBN: 7115594147
  • ISBN-13: 9787115594143
  • 相關分類: 大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

  • 大數據存儲-preview-1
  • 大數據存儲-preview-2
大數據存儲-preview-1

商品描述

本書採用大數據存儲技術常用工具與真實案例相結合的方式,以項目任務式為導向,較為系統地介紹了大數據存儲工具的相關知識。全書共7個項目,內容包括瞭解大數據、結構化數據倉庫——Hive、列存儲數據庫——HBase、文檔存儲數據庫——MongoDB、文檔存儲數據庫——ElasticSearch、數據傳輸工具——Sqoop,以及廣電用戶數據存儲與分析。其中,大多數項目都包含了實訓與課後習題。通過練習和操作實踐,讀者可以鞏固所學的內容。另外,每個項目都包含了拓展閱讀,用於引導讀者樹立正確的世界觀、價值觀、人生觀,並養成敬業樂群、精益求精、追求突破的工匠精神。

本書可以作為高校大數據技術相關專業的教材,也可作為大數據技術愛好者的自學用書。希望讀者通過學習本書內容,提高自主學習意識,具備良好的問題分析素養和獨立思考能力,能夠結合具體的情境和需求選擇適當的存儲工具解決實際問題。

作者簡介

谭旭,男,教授,深圳信息职业技术学院素质赋能中心主任。2009年博士毕业于国防科技大学管理科学与工程专业,2012年获聘湘潭大学硕士研究生导师,2015年破格晋升教授职称。获评“鹏城学者”长期特聘教授、广东省高校“千百十工程”省级培养对象、广东省首批高职教育专业领军人才、南粤优秀教师、深圳市高层次领军人才、校级教学名师。现为广东省视频图像大数据公共安全应用科研团队负责人、广东省信息管理技术教学团队负责人、广东省高职教育计算机类专业教指委秘书长、中国仿真学会智能仿真优化与调度专委会委员、深圳市教育工委党代表、深圳市青年科技人才协会副会长。多年来一直致力于智能决策分析、网络舆情分析等领域的研究,从事信息技术基础及大数据专业的理论与实践教学。主持了国家自然科学基金、教育部人文社科项目、广东省自然科学基金、广东省高层次人才项目等教科研课题21项,近年在国内外期刊上发表学术论文80余篇(其中EI检索25篇,SCI检索15篇),主编专著1部、教材2部(含“十三五”职业教育国家规划教材1部),获中国仿真学会科学技术奖一等奖1项,广东省教学成果奖二等奖2项。 李程文,佛山职业技术学院电子信息学院大数据技术专业的专任教师,硕士学历,佛山市计算机学会学生专委会指导委员会委员,发表省级以上的论文4篇,目前已出版的图书作品3本;发表专利2项,软件著作权2项,外观设计1项;主持和参与的纵向科研有7个,其中省级2项,市级2项,横向科研课题2项,到账经费8万元;主持和参与教改课题10项,其中省级1项,市级1项。参加2020年“战疫课堂”课程思政典型案例征集大赛获国家二等奖,多年来指导学生参与各类技能大赛获奖13项,其中省二等奖3项,省三等8奖,市一等奖1项,市三等奖1项。

目錄大綱

項目1 瞭解大數據 1

教學目標 1

項目描述 1

項目實施 2

任務1.1 大數據簡介 2

1.1.1 大數據的概念 2

1.1.2 大數據的特徵 2

1.1.3 大數據的應用領域 6

1.1.4 大數據技術體系 7

任務1.2 大數據存儲技術 10

1.2.1 瞭解數據存儲 10

1.2.2 瞭解分佈式數據庫 13

項目總結 15

課後習題 16

拓展閱讀 16

項目2 結構化數據倉庫——Hive 17

教學目標 17

項目描述 17

項目實施 19

任務2.1 Hive的架構原理簡介 19

2.1.1 認識Hive 19

2.1.2 瞭解Hive的架構 20

任務2.2 安裝與配置Hive 21

2.2.1 搭建Hadoop集群 21

2.2.2 配置MySQL數據庫 22

2.2.3 配置Hive數據倉庫 23

任務2.3 創建航空客戶信息表 26

2.3.1 掌握Hive基礎數據類型 26

2.3.2 創建表 27

2.3.3 刪除表與表數據 29

2.3.4 修改表結構 29

2.3.5 任務實現 30

任務2.4 導入航空客戶數據到航空客戶信息表 31

2.4.1 導入數據 31

2.4.2 導出數據 34

2.4.3 任務實現 36

任務2.5 查詢航空客戶信息表空值記錄數 36

2.5.1 認識SELECT語句結構 36

2.5.2 瞭解運算符的使用 37

2.5.3 使用WHERE語句進行條件查詢 38

2.5.4 任務實現 38

任務2.6 查詢航空客戶信息表字段數據的最大值和最小值 39

2.6.1 認識HiveQL內置函數 39

2.6.2 任務實現 42

任務2.7 統計會員數最多的會員級別 43

2.7.1 認識HiveQL子查詢 43

2.7.2 任務實現 44

任務2.8 編寫UDF統計客戶入會時長 44

2.8.1 編寫Hive中的UDF 44

2.8.2 任務實現 46

任務2.9 構建航空客戶價值分析的特徵數據 47

2.9.1 過濾無效、異常數據 47

2.9.2 選取有效字段 48

2.9.3 構建模型指標 49

項目總結 50

實訓 50

實訓1 統計學生成績的總分、平均分 50

實訓2 合並文件數據並進行條件查詢 51

課後習題 52

拓展閱讀 54

項目3 列存儲數據庫——HBase 55

教學目標 55

項目描述 55

項目實施 57

任務3.1 HBase簡介 57

3.1.1 瞭解HBase 57

3.1.2 掌握HBase核心功能模塊 59

3.1.3 瞭解HBase的數據模型 61

任務3.2 安裝HBase集群 61

3.2.1 安裝前的準備工作 62

3.2.2 安裝與配置Zookeeper 62

3.2.3 安裝與配置HBase 64

任務3.3 設計與新建鈔票交易數據表 66

3.3.1 設計表結構的原則 66

3.3.2 創建與刪除表 67

3.3.3 任務實現 69

任務3.4 新增與刪除鈔票交易數據表數據 71

3.4.1 插入數據 71

3.4.2 查詢數據 71

3.4.3 刪除數據 73

3.4.4 掃描全表 73

3.4.5 任務實現 74

任務3.5 查詢指定時間版本的鈔票數據 75

3.5.1 按時間版本查詢數據 75

3.5.2 任務實現 76

任務3.6 使用Java API創建鈔票交易數據表 77

3.6.1 搭建HBase開發環境 77

3.6.2 創建表與刪除表的方法 82

3.6.3 任務實現 84

任務3.7 通過Java API插入數據到鈔票交易數據表並查詢 85

3.7.1 調用表對象的put()方法插入數據 85

3.7.2 調用表對象的get()方法進行查詢 86

3.7.3 調用表對象的scan()方法進行全表查詢 88

3.7.4 任務實現 90

任務3.8 通過MapReduce導入數據到鈔票交易數據表 93

3.8.1 編寫MapReduce實現數據交互 93

3.8.2 任務實現 95

項目總結 98

實訓 98

實訓1 查詢學生成績信息 98

實訓2 用戶訪問網站日誌分析 99

課後習題 100

拓展閱讀 101

項目4 文檔存儲數據庫——MongoDB 102

教學目標 102

項目描述 102

項目實施 104

任務4.1 MongoDB簡介 104

4.1.1 瞭解MongoDB 104

4.1.2 瞭解MongoDB數據模型 105

任務4.2 安裝分佈式MongoDB 106

4.2.1 安裝與配置MongoDB 107

4.2.2 訪問MongoDB HTTP埠 109

任務4.3 創建存儲用戶日誌數據的數據庫 109

4.3.1 創建與刪除數據庫 109

4.3.2 任務實現 112

任務4.4 存儲用戶日誌數據到MongoDB 112

4.4.1 插入文檔數據 112

4.4.2 刪除文檔數據 113

4.4.3 更新文檔數據 114

4.4.4 任務實現 116

任務4.5 查詢MongoDB中用戶訪問HTML頁面的記錄數 116

4.5.1 查詢文檔數據 116

4.5.2 索引 117

4.5.3 聚合 118

4.5.4 任務實現 119

任務4.6 使用MongoDB Java API創建電子商務日誌數據

存儲系統 120

4.6.1 搭建MongoDB的開發環境 120

4.6.2 創建電子商務日誌數據存儲數據庫 121

4.6.3 任務實現 126

項目總結 129

實訓 129

實訓1 學生信息的存儲和查詢 129

實訓2 電影評分查詢 130

課後習題 130

拓展閱讀 131

項目5 文檔存儲數據庫——ElasticSearch 132

教學目標 132

項目描述 132

項目實施 133

任務5.1 ElasticSearch簡介 133

5.1.1 瞭解ElasticSearch 134

5.1.2 安裝分佈式ElasticSearch 137

任務5.2 使用Head擴展插件存儲用戶和電影信息數據 142

5.2.1 配置Head插件 142

5.2.2 創建與修改索引 145

5.2.3 增加、刪除與修改數據 147

5.2.4 查詢數據 149

5.2.5 任務實現 152

任務5.3 通過Java存儲用戶對電影的評分數據 154

5.3.1 搭建ElasticSearch開發環境 154

5.3.2 創建與修改索引 157

5.3.3 增加、刪除與修改數據 159

5.3.4 批量操作 161

5.3.5 任務實現 162

任務5.4 通過Java查詢插入的數據記錄 164

5.4.1 調用Get API查詢 164

5.4.2 調用Search API查詢 166

5.4.3 輸出設置 171

5.4.4 任務實現 172

任務5.5 查詢評價電影超過50次的用戶 174

5.5.1 度量聚合 174

5.5.2 分組聚合 177

5.5.3 任務實現 179

項目總結 181

實訓 182

實訓1 查詢手機信息 182

實訓2 查詢學生成績信息 182

課後習題 183

拓展閱讀 184

項目6 數據傳輸工具——Sqoop 185

教學目標 185

項目描述 185

項目實施 186

任務6.1 Sqoop簡介 186

6.1.1 瞭解Sqoop 187

6.1.2 安裝與配置Sqoop 187

6.1.3 瞭解Sqoop基本傳輸命令 188

任務6.2 查詢MySQL用戶日誌數據表的記錄數 190

6.2.1 掌握Sqoop eval的基本操作 190

6.2.2 任務實現 191

任務6.3 將MySQL中的用戶日誌數據增量導入Hive 192

6.3.1 掌握Sqoop import的基本操作 192

6.3.2 掌握Sqoop job的基本操作 193

6.3.3 使用Sqoop將MySQL中的數據導入Hive 195

6.3.4 任務實現 196

任務6.4 導出Hive中的篩選結果至MySQL 196

6.4.1 掌握Sqoop export基本操作 197

6.4.2 使用Sqoop從Hive傳輸數據到MySQL 198

6.4.3 任務實現 198

項目總結 199

實訓 199

實訓 傳輸用戶登錄數據 200

課後習題 200

拓展閱讀 201

項目7 廣電用戶數據存儲與分析 202

教學目標 202

項目描述 203

項目實施 203

任務7.1 分析需求與架構 203

7.1.1 業務需求分析 204

7.1.2 選擇存儲與分析技術 205

7.1.3 設計存儲與分析架構 205

任務7.2 將CSV格式數據導入ElasticSearch 206

7.2.1 瞭解數據 206

7.2.2 將數據導入ElasticSearch 208

任務7.3 轉移ElasticSearch數據至Hive 212

7.3.1 在Hive中創建數據管理表 212

7.3.2 查看Hive中的表數據 215

任務7.4 統計各表宣傳數據和政企用戶記錄數 216

7.4.1 統計各表宣傳數據記錄數 216

7.4.2 統計各表政企用戶記錄數 216

任務7.5 統計無效收視數據 217

7.5.1 統計用戶收視時長分佈 217

7.5.2 統計機頂盒待機記錄數 217

任務7.6 處理各表無效數據 217

7.6.1 處理無效用戶信息 218

7.6.2 處理無效收視數據 218

7.6.3 處理無效賬單數據 218

7.6.4 處理無效訂單數據 219

任務7.7 計算用戶電視消費水平和寬帶消費水平 219

7.7.1 計算電視消費水平和寬帶消費水平 219

7.7.2 將數據保存至其他數據庫 221

項目總結 222

拓展閱讀 222