大數據存儲

譚旭,李程文

  • 出版商: 人民郵電
  • 出版日期: 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