大數據技術及套用--基於Python語言

大數據技術及套用--基於Python語言

《大數據技術及套用--基於Python語言》是2021年電子工業出版社出版的圖書。

基本介紹

  • 中文名:大數據技術及套用--基於Python語言
  • 作者:嚴宣輝
  • 出版時間:2021年
  • 出版社:電子工業出版社
  • ISBN:9787121421693
  • 開本:128 開
內容簡介,作者簡介,目 錄,

內容簡介

目前,社會對大數據工程技術人才的需求大大增加,因此向計算機和電子信息類相關專業學生傳授大數據知識和技術方法,提高他們在各領域套用大數據的能力具有重大意義。本書共9章,圍繞大數據的基本概念和大數據處理的主要環節編寫。第1章主要介紹大數據的概念、特點和構成;第2章主要介紹在Windows系統中安裝Linux虛擬機及構建Hadoop分散式集群的方法;第3章主要介紹大數據採集工具的使用及數據預處理的常用方法;第4章首先介紹Hadoop的發展歷史、軟體生態、核心組件和命令結構,然後以HDFS為重點,介紹其體系結構和特點,並詳細介紹HDFS的互動式命令;第5章介紹大數據環境下存儲工具HBase的數據模型;第6章介紹Hive的存儲模型,第7章介紹在Hadoop平台上利用Python設計MapReduce程式的基本思路;第8章介紹大數據分析與挖掘過程中的常用算法;第9章介紹數據可視化的常用方法及常用工具。本書的內容與實際套用緊密結合,目的是讓讀者能了解大數據的基本概念、理解大數據技術的基本原理、初步掌握大數據處理和分析的基本方法,為未來套用大數據思維和大數據分析方法解決工作中的實際問題打下良好的基礎。本書適合作為高等學校計算機類和電子信息類相關專業大數據技術相關課程的教材,可供本科生、研究生使用,同時也適合對大數據技術感興趣的廣大讀者進行自學和實踐時使用。

作者簡介

嚴宣輝,男,福建師範大學數學與信息學院副教授、理學博士,碩士生導師,數字福建環境監測物聯網實驗室副主任、福建省人工智慧學會理事。先後擔任過學院實驗室主任、公總計算機教研室主任和計算機科學系主任等工作。福建省精品線上開放課程“大數據導論”負責人,該課程已在中國大學MOOC、優課聯盟等慕課平台上開課三個學期以上,吸引了大量學生參加學習,得到了學習者的廣泛好評。

目 錄

第1章 緒論 1
1.1 大數據的基本概念 1
1.2 大數據的價值和作用 4
1.3 大數據帶來的思維方式變革 7
1.4 大數據處理技術基礎 9
1.4.1 大數據處理的主要環節 9
1.4.2 大數據的技術支撐 11
1.4.3 流行的大數據技術 13
1.5 大數據面臨的技術挑戰 15
1.6 本章小結 16
1.7 習題 16
第2章 大數據實驗環境構建 18
2.1 在Windows中安裝Linux虛擬機 18
2.1.1 創建虛擬機 19
2.1.2 虛擬機啟動初始化 21
2.1.3 克隆虛擬機 22
2.2 Linux操作基礎 23
2.2.1 軟體包管理工具 23
2.2.2 目錄和檔案操作 24
2.2.3 用戶和許可權管理命令 25
2.2.4 修改檔案的訪問許可權 25
2.2.5 壓縮和解壓縮 27
2.2.6 網路配置命令 27
2.2.7 系統服務命令 28
2.2.8 查找命令 29
2.3 建立Linux集群 29
2.3.1 VMware Workstation的網路模式簡介 30
2.3.2 集群規劃和網路設定 31
2.3.3 配置虛擬機的網路參數 33
2.3.4 關閉防火牆和SELinux 36
2.3.5 SSH免密登錄 37
2.4 Hadoop系統簡介 41
2.4.1 Hadoop的生態系統 41
2.4.2 Hadoop集群的類型 42
2.5 構建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 啟動Hadoop 48
2.6 構建“完全分散式”Hadoop集群 49
2.6.1 配置Hadoop集群的主節點 49
2.6.2 將配置檔案傳送到從節點 52
2.7 測試Hadoop集群 52
2.7.1 測試HDFS 52
2.7.2 測試WordCount程式 56
2.8 安裝Zookeeper 57
2.8.1 在“偽分布”模式下安裝Zookeeper 57
2.8.2 在“完全分布”模式下安裝Zookeeper 58
2.9 用Ambari構建和管理Hadoop集群 60
2.9.1 安裝Ambari 61
2.9.2 用Ambari管理和配置Hadoop集群 61
2.10 本章小結 63
2.11 習題與實驗 63
第3章 大數據採集與預處理 66
3.1 大數據採集概述 66
3.1.1 大數據的來源 66
3.1.2 數據容量的單位 67
3.1.3 大數據採集的基本方法 67
3.2 常用的大數據採集工具簡介 68
3.2.1 基於Python的網頁採集框架Scrapy 69
3.2.2 日誌收集工具Flume 74
3.3 數據屬性的類型 79
3.3.1 “屬性”的類型 79
3.3.2 屬性類型的轉換 80
3.4 數據預處理 80
3.4.1 數據變換 81
3.4.2 數據清洗 84
3.4.3 使用OpenRefine清洗數據 86
3.4.4 數據集成 89
3.5 本章小結 91
3.6 習題 91
第4章 Hadoop分散式檔案系統 94
4.1 Hadoop 94
4.1.1 Hadoop的發展歷史 95
4.1.2 Hadoop的優勢 96
4.1.3 Hadoop生態 96
4.1.4 Hadoop的核心組件 97
4.1.5 Hadoop集群與資源管理 99
4.1.6 Hadoop命令結構 102
4.2 HDFS體系結構 104
4.2.1 HDFS的設計目標 104
4.2.2 HDFS中的NameNode和DataNodes 105
4.2.3 檔案系統命名空間(The File System Namespace) 108
4.2.4 數據容錯 108
4.2.5 副本的管理與使用 109
4.3 HDFS初探 110
4.3.1 開始HDFS旅程 110
4.3.2 添加數據檔案 111
4.3.3 從HDFS中下載檔案 111
4.3.4 關閉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實現HDFS的檔案訪問 119
4.5.1 pyhdfs的安裝與套用案例 120
4.5.2 pyhdfs的HdfsClient類 120
4.6 pyhdfs套用實戰 133
4.7 本章小結 135
4.8 習題與實驗 135
第5章 HBase基礎與套用 137
5.1 HBase簡介 137
5.2 HBase安裝 138
5.3 HBase初探 139
5.4 HBase的數據模型 143
5.4.1 HBase數據模型相關術語 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 創建表(create) 149
5.5.3 修改表/列族(alter table / column family) 153
5.5.4 添加數據(put) 155
5.5.5 獲取行或單元(get) 156
5.5.6 掃描並輸出數據(scan) 157
5.5.7 統計表的行數(count) 158
5.5.8 刪除指定值(delete) 159
5.5.9 其他常用shell命令 160
5.5.10 HBase Shell中的對象引用 162
5.6 利用Jython實現HBase的訪問 162
5.6.1 Jython環境設定 162
5.6.2 Jython訪問HBase 163
5.6.3 利用scan變數HBase中的數據 164
5.7 本章小結 165
5.8 習題與實驗 165
第6章 Hive基礎與套用 167
6.1 Hive簡介 167
6.1.1 資料庫與數據倉庫 168
6.1.2 Hive體系結構與接口 168
6.2 Hive的存儲模型 169
6.3 Hive初探 171
6.4 Hive的數據定義—DDL 175
6.4.1 資料庫的相關操作 175
6.4.2 數據表的創建 177
6.4.3 數據表和分區的修改 182
6.4.4 數據表的其他操作 189
6.5 Hive的數據操縱——DML 194
6.6 Hive的數據檢索——Hive-QL 201
6.7 本章小結 206
6.8 習題與實驗 207
第7章 分散式計算框架MapReduce 209
7.1 MapReduce概述 209
7.1.1 個MapReduce的Python程式 210
7.1.2 MapReduce工作原理 212
7.1.3 MapReduce作業的工作流程 212
7.1.4 MapReduce的輸入/輸出 214
7.2 WordCount實例詳解 214
7.2.1 WordCount程式源碼 214
7.2.2 WordCount程式執行 215
7.2.3 WordCount程式原理 216
7.3 Hadoop Streaming 217
7.3.1 Hadoop Streaming的工作原理 218
7.3.2 打包提交作業 218
7.3.3 Streaming工具的用法 219
7.3.4 常見問題套用技巧 222
7.4 MapReduce作業管理 223
7.5 MapReduce Python代碼的測試 225
7.6 利用Python的疊代器和生成器最佳化wordCount程式 227
7.6.1 Python中的疊代器 227
7.6.2 Python中的生成器 228
7.6.3 itertools模組 229
7.6.4 最佳化wordCount程式 232
7.7 MapReduce程式設計模式 233
7.7.1 數據集介紹 233
7.7.2 聚合查詢模式(Summarization Patterns) 235
7.7.3 過濾模式(Filtering Patterns) 241
7.7.4 數據連線模式(Join Patterns) 245
7.8 用MRJob庫編寫MapReduce程式 250
7.8.1 個MRJob程式 250
7.8.2 MRJob套用詳解 253
7.8.3 MRJob的協定 256
7.8.4 MRJob的其餘設定 259
7.9 本章小結 260
7.10 習題與實驗 261
第8章 大數據分析與挖掘 262
8.1 數據的描述性分析 262
8.1.1 數據的集中趨勢度量 262
8.1.2 數據的離散趨勢度量 263
8.1.3 數據的偏態特性度量 266
8.1.4 數據相關性計算 267
8.2 回歸分析 271
8.2.1 一元線性回歸(Linear Regression) 271
8.2.2 其他類型的回歸模型 274
8.3 分類算法簡介 275
8.3.1 邏輯回歸 275
8.3.2 近鄰分類算法 277
8.3.3 決策樹算法 279
8.4 聚類算法簡介 285
8.4.1 主要的聚類算法類型 285
8.4.2 聚類質量度量指標 286
8.4.3 k-Means算法 288
8.5 分散式大數據挖掘算法典型案例 290
8.6 本章小結 295
8.7 習題與實驗 296
第9章 大數據可視化 298
9.1 引言 298
9.2 大數據可視化的常用方法 300
9.2.1 趨勢型大數據可視化方法 300
9.2.2 對比型大數據可視化方法 302
9.2.3 比例型大數據可視化方法 304
9.2.4 分布型大數據可視化 305
9.2.5 文本大數據可視化 306
9.2.6 關係網路大數據可視化 307
9.2.7 時空大數據可視化 308
9.2.8 層次結構大數據可視化 309
9.2.9 高維大數據可視化 310
9.3 大數據可視化常用工具簡介 311
9.3.1 Tableau大數據可視化工具簡介 312
9.3.2 Python的Matplotlib庫簡介 314
9.4 基於ECharts的可視化示例 318
9.4.1 ECharts使用準備 319
9.4.2 ECharts 基礎概念概覽 320
9.4.3 ECharts示例 320
9.5 本章小結 326
9.6 習題與實驗 326
附錄A HDFS互動命令 328
附錄B pyhdfs其他類說明 339
參考文獻 344

相關詞條

熱門詞條

聯絡我們