大數(shù)據(jù)技術(shù)及應(yīng)用——基于Python語言
定 價(jià):69 元
- 作者:嚴(yán)宣輝 等
- 出版時(shí)間:2021/10/1
- ISBN:9787121421693
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁(yè)碼:360
- 紙張:
- 版次:01
- 開本:16開
目前,社會(huì)對(duì)大數(shù)據(jù)工程技術(shù)人才的需求大大增加,因此向計(jì)算機(jī)和電子信息類相關(guān)專業(yè)學(xué)生傳授大數(shù)據(jù)知識(shí)和技術(shù)方法,提高他們?cè)诟黝I(lǐng)域應(yīng)用大數(shù)據(jù)的能力具有重大意義。本書共9章,圍繞大數(shù)據(jù)的基本概念和大數(shù)據(jù)處理的主要環(huán)節(jié)編寫。第1章主要介紹大數(shù)據(jù)的概念、特點(diǎn)和構(gòu)成;第2章主要介紹在Windows系統(tǒng)中安裝Linux虛擬機(jī)及構(gòu)建Hadoop分布式集群的方法;第3章主要介紹大數(shù)據(jù)采集工具的使用及數(shù)據(jù)預(yù)處理的常用方法;第4章首先介紹Hadoop的發(fā)展歷史、軟件生態(tài)、核心組件和命令結(jié)構(gòu),然后以HDFS為重點(diǎn),介紹其體系結(jié)構(gòu)和特點(diǎn),并詳細(xì)介紹HDFS的交互式命令;第5章介紹大數(shù)據(jù)環(huán)境下存儲(chǔ)工具HBase的數(shù)據(jù)模型;第6章介紹Hive的存儲(chǔ)模型,第7章介紹在Hadoop平臺(tái)上利用Python設(shè)計(jì)MapReduce程序的基本思路;第8章介紹大數(shù)據(jù)分析與挖掘過程中的常用算法;第9章介紹數(shù)據(jù)可視化的常用方法及常用工具。本書的內(nèi)容與實(shí)際應(yīng)用緊密結(jié)合,目的是讓讀者能了解大數(shù)據(jù)的基本概念、理解大數(shù)據(jù)技術(shù)的基本原理、初步掌握大數(shù)據(jù)處理和分析的基本方法,為未來應(yīng)用大數(shù)據(jù)思維和大數(shù)據(jù)分析方法解決工作中的實(shí)際問題打下良好的基礎(chǔ)。本書適合作為高等學(xué)校計(jì)算機(jī)類和電子信息類相關(guān)專業(yè)大數(shù)據(jù)技術(shù)相關(guān)課程的教材,可供本科生、研究生使用,同時(shí)也適合對(duì)大數(shù)據(jù)技術(shù)感興趣的廣大讀者進(jìn)行自學(xué)和實(shí)踐時(shí)使用。
嚴(yán)宣輝,男,福建師范大學(xué)數(shù)學(xué)與信息學(xué)院副教授、理學(xué)博士,碩士生導(dǎo)師,數(shù)字福建環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)實(shí)驗(yàn)室副主任、福建省人工智能學(xué)會(huì)理事。先后擔(dān)任過學(xué)院實(shí)驗(yàn)室主任、公共計(jì)算機(jī)教研室主任和計(jì)算機(jī)科學(xué)系主任等工作。福建省精品在線開放課程"大數(shù)據(jù)導(dǎo)論”負(fù)責(zé)人,該課程已在中國(guó)大學(xué)MOOC、優(yōu)課聯(lián)盟等慕課平臺(tái)上開課三個(gè)學(xué)期以上,吸引了大量學(xué)生參加學(xué)習(xí),得到了學(xué)習(xí)者的廣泛好評(píng)。
目錄
第1章 緒論 1
1.1 大數(shù)據(jù)的基本概念 1
1.2 大數(shù)據(jù)的價(jià)值和作用 4
1.3 大數(shù)據(jù)帶來的思維方式變革 7
1.4 大數(shù)據(jù)處理技術(shù)基礎(chǔ) 9
1.4.1 大數(shù)據(jù)處理的主要環(huán)節(jié) 9
1.4.2 大數(shù)據(jù)的技術(shù)支撐 11
1.4.3 流行的大數(shù)據(jù)技術(shù) 13
1.5 大數(shù)據(jù)面臨的技術(shù)挑戰(zhàn) 15
1.6 本章小結(jié) 16
1.7 習(xí)題 16
第2章 大數(shù)據(jù)實(shí)驗(yàn)環(huán)境構(gòu)建 18
2.1 在Windows中安裝Linux虛擬機(jī) 18
2.1.1 創(chuàng)建虛擬機(jī) 19
2.1.2 虛擬機(jī)啟動(dòng)初始化 21
2.1.3 克隆虛擬機(jī) 22
2.2 Linux操作基礎(chǔ) 23
2.2.1 軟件包管理工具 23
2.2.2 目錄和文件操作 24
2.2.3 用戶和權(quán)限管理命令 25
2.2.4 修改文件的訪問權(quán)限 25
2.2.5 壓縮和解壓縮 27
2.2.6 網(wǎng)絡(luò)配置命令 27
2.2.7 系統(tǒng)服務(wù)命令 28
2.2.8 查找命令 29
2.3 建立Linux集群 29
2.3.1 VMware Workstation的網(wǎng)絡(luò)模式簡(jiǎn)介 30
2.3.2 集群規(guī)劃和網(wǎng)絡(luò)設(shè)置 31
2.3.3 配置虛擬機(jī)的網(wǎng)絡(luò)參數(shù) 33
2.3.4 關(guān)閉防火墻和SELinux 36
2.3.5 SSH免密登錄 37
2.4 Hadoop系統(tǒng)簡(jiǎn)介 41
2.4.1 Hadoop的生態(tài)系統(tǒng) 41
2.4.2 Hadoop集群的類型 42
2.5 構(gòu)建Hadoop“偽分布式”集群 42
2.5.1 安裝JDK 42
2.5.2 安裝Hadoop軟件 44
2.5.3 配置SSH免密登錄 45
2.5.4 配置Hadoop 45
2.5.5 啟動(dòng)Hadoop 48
2.6 構(gòu)建“完全分布式”Hadoop集群 49
2.6.1 配置Hadoop集群的主節(jié)點(diǎn) 49
2.6.2 將配置文件發(fā)送到從節(jié)點(diǎn) 52
2.7 測(cè)試Hadoop集群 52
2.7.1 測(cè)試HDFS 52
2.7.2 測(cè)試WordCount程序 56
2.8 安裝Zookeeper 57
2.8.1 在“偽分布”模式下安裝Zookeeper 57
2.8.2 在“完全分布”模式下安裝Zookeeper 58
2.9 用Ambari構(gòu)建和管理Hadoop集群 60
2.9.1 安裝Ambari 61
2.9.2 用Ambari管理和配置Hadoop集群 61
2.10 本章小結(jié) 63
2.11 習(xí)題與實(shí)驗(yàn) 63
第3章 大數(shù)據(jù)采集與預(yù)處理 66
3.1 大數(shù)據(jù)采集概述 66
3.1.1 大數(shù)據(jù)的來源 66
3.1.2 數(shù)據(jù)容量的單位 67
3.1.3 大數(shù)據(jù)采集的基本方法 67
3.2 常用的大數(shù)據(jù)采集工具簡(jiǎn)介 68
3.2.1 基于Python的網(wǎng)頁(yè)采集框架Scrapy 69
3.2.2 日志收集工具Flume 74
3.3 數(shù)據(jù)屬性的類型 79
3.3.1 “屬性”的類型 79
3.3.2 屬性類型的轉(zhuǎn)換 80
3.4 數(shù)據(jù)預(yù)處理 80
3.4.1 數(shù)據(jù)變換 81
3.4.2 數(shù)據(jù)清洗 84
3.4.3 使用OpenRefine清洗數(shù)據(jù) 86
3.4.4 數(shù)據(jù)集成 89
3.5 本章小結(jié) 91
3.6 習(xí)題 91
第4章 Hadoop分布式文件系統(tǒng) 94
4.1 Hadoop 94
4.1.1 Hadoop的發(fā)展歷史 95
4.1.2 Hadoop的優(yōu)勢(shì) 96
4.1.3 Hadoop生態(tài) 96
4.1.4 Hadoop的核心組件 97
4.1.5 Hadoop集群與資源管理 99
4.1.6 Hadoop命令結(jié)構(gòu) 102
4.2 HDFS體系結(jié)構(gòu) 104
4.2.1 HDFS的設(shè)計(jì)目標(biāo) 104
4.2.2 HDFS中的NameNode和DataNodes 105
4.2.3 文件系統(tǒng)命名空間(The File System Namespace) 108
4.2.4 數(shù)據(jù)容錯(cuò) 108
4.2.5 副本的管理與使用 109
4.3 HDFS初探 110
4.3.1 開始HDFS旅程 110
4.3.2 添加數(shù)據(jù)文件 111
4.3.3 從HDFS中下載文件 111
4.3.4 關(guān)閉HDFS 111
4.3.5 利用Web Console訪問HDFS 111
4.4 HDFS常用CLI命令 113
4.4.1 HDFS CLI總覽 113
4.4.2 常用HDFS文件操作命令 115
4.5 利用pyhdfs實(shí)現(xiàn)HDFS的文件訪問 119
4.5.1 pyhdfs的安裝與應(yīng)用案例 120
4.5.2 pyhdfs的HdfsClient類 120
4.6 pyhdfs應(yīng)用實(shí)戰(zhàn) 133
4.7 本章小結(jié) 135
4.8 習(xí)題與實(shí)驗(yàn) 135
第5章 HBase基礎(chǔ)與應(yīng)用 137
5.1 HBase簡(jiǎn)介 137
5.2 HBase安裝 138
5.3 HBase初探 139
5.4 HBase的數(shù)據(jù)模型 143
5.4.1 HBase數(shù)據(jù)模型相關(guān)術(shù)語 143
5.4.2 概念模式/視圖(Conceptual View) 145
5.4.3 物理模式/視圖(Physical View) 146
5.4.4 命名空間(Namespace) 147
5.5 HBase Shell 147
5.5.1 HBase Shell概述 147
5.5.2 創(chuàng)建表(create) 149
5.5.3 修改表/列族(alter table / column family) 153
5.5.4 添加數(shù)據(jù)(put) 155
5.5.5 獲取行或單元(get) 156
5.5.6 掃描并輸出數(shù)據(jù)(scan) 157
5.5.7 統(tǒng)計(jì)表的行數(shù)(count) 158
5.5.8 刪除指定值(delete) 159
5.5.9 其他常用shell命令 160
5.5.10 HBase Shell中的對(duì)象引用 162
5.6 利用Jython實(shí)現(xiàn)HBase的訪問 162
5.6.1 Jython環(huán)境設(shè)置 162
5.6.2 Jython訪問HBase 163
5.6.3 利用scan變量HBase中的數(shù)據(jù) 164
5.7 本章小結(jié) 165
5.8 習(xí)題與實(shí)驗(yàn) 165
第6章 Hive基礎(chǔ)與應(yīng)用 167
6.1 Hive簡(jiǎn)介 167
6.1.1 數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù) 168
6.1.2 Hive體系結(jié)構(gòu)與接口 168
6.2 Hive的存儲(chǔ)模型 169
6.3 Hive初探 171
6.4 Hive的數(shù)據(jù)定義—DDL 175
6.4.1 數(shù)據(jù)庫(kù)的相關(guān)操作 175
6.4.2 數(shù)據(jù)表的創(chuàng)建 177
6.4.3 數(shù)據(jù)表和分區(qū)的修改 182
6.4.4 數(shù)據(jù)表的其他操作 189
6.5 Hive的數(shù)據(jù)操縱——DML 194
6.6 Hive的數(shù)據(jù)檢索——Hive-QL 201
6.7 本章小結(jié) 206
6.8 習(xí)題與實(shí)驗(yàn) 207
第7章 分布式計(jì)算框架MapReduce 209
7.1 MapReduce概述 209
7.1.1 第一個(gè)MapReduce的Python程序 210
7.1.2 MapReduce工作原理 212
7.1.3 MapReduce作業(yè)的工作流程 212
7.1.4 MapReduce的輸入/輸出 214
7.2 WordCount實(shí)例詳解 214
7.2.1 WordCount程序源碼 214
7.2.2 WordCount程序執(zhí)行 215
7.2.3 WordCount程序原理 216
7.3 Hadoop Streaming 217
7.3.1 Hadoop Streaming的工作原理 218
7.3.2 打包提交作業(yè) 218
7.3.3 Streaming工具的用法 219
7.3.4 常見問題應(yīng)用技巧 222
7.4 MapReduce作業(yè)管理 223
7.5 MapReduce Python代碼的測(cè)試 225
7.6 利用Python的迭代器和生成器優(yōu)化wordCount程序 227
7.6.1 Python中的迭代器 227
7.6.2 Python中的生成器 228
7.6.3 itertools模塊 229
7.6.4 優(yōu)化wordCount程序 232
7.7 MapReduce程序設(shè)計(jì)模式 233
7.7.1 數(shù)據(jù)集介紹 233
7.7.2 聚合查詢模式(Summarization Patterns) 235
7.7.3 過濾模式(Filtering Patterns) 241
7.7.4 數(shù)據(jù)連接模式(Join Patterns) 245
7.8 用MRJob庫(kù)編寫MapReduce程序 250
7.8.1 第一個(gè)MRJob程序 250
7.8.2 MRJob應(yīng)用詳解 253
7.8.3 MRJob的協(xié)議 256
7.8.4 MRJob的其余設(shè)置 259
7.9 本章小結(jié) 260
7.10 習(xí)題與實(shí)驗(yàn) 261
第8章 大數(shù)據(jù)分析與挖掘 262
8.1 數(shù)據(jù)的描述性分析 262
8.1.1 數(shù)據(jù)的集中趨勢(shì)度量 262
8.1.2 數(shù)據(jù)的離散趨勢(shì)度量 263
8.1.3 數(shù)據(jù)的偏態(tài)特性度量 266
8.1.4 數(shù)據(jù)相關(guān)性計(jì)算 267
8.2 回歸分析 271
8.2.1 一元線性回歸(Linear Regression) 271
8.2.2 其他類型的回歸模型 274
8.3 分類算法簡(jiǎn)介 275
8.3.1 邏輯回歸 275
8.3.2 近鄰分類算法 277
8.3.3 決策樹算法 279
8.4 聚類算法簡(jiǎn)介 285
8.4.1 主要的聚類算法類型 285
8.4.2 聚類質(zhì)量度量指標(biāo) 286
8.4.3 k-Means算法 288
8.5 分布式大數(shù)據(jù)挖掘算法典型案例 290
8.6 本章小結(jié) 295
8.7 習(xí)題與實(shí)驗(yàn) 296
第9章 大數(shù)據(jù)可視化 298
9.1 引言 298
9.2 大數(shù)據(jù)可視化的常用方法 300
9.2.1 趨勢(shì)型大數(shù)據(jù)可視化方法 300
9.2.2 對(duì)比型大數(shù)據(jù)可視化方法 302
9.2.3 比例型大數(shù)據(jù)可視化方法 304
9.2.4 分布型大數(shù)據(jù)可視化 305
9.2.5 文本大數(shù)據(jù)可視化 306
9.2.6 關(guān)系網(wǎng)絡(luò)大數(shù)據(jù)可視化 307
9.2.7 時(shí)空大數(shù)據(jù)可視化 308
9.2.8 層次結(jié)構(gòu)大數(shù)據(jù)可視化 309
9.2.9 高維大數(shù)據(jù)可視化 310
9.3 大數(shù)據(jù)可視化常用工具簡(jiǎn)介 311
9.3.1 Tableau大數(shù)據(jù)可視化工具簡(jiǎn)介 312
9.3.2 Python的Matplotlib庫(kù)簡(jiǎn)介 314
9.4 基于ECharts的可視化示例 318
9.4.1 ECharts使用準(zhǔn)備 319
9.4.2 ECharts 基礎(chǔ)概念概覽 320
9.4.3 ECharts示例 320
9.5 本章小結(jié) 326
9.6 習(xí)題與實(shí)驗(yàn) 326
附錄A HDFS交互命令 328
附錄B pyhdfs其他類說明 339
參考文獻(xiàn) 344