|
-- 會員 / 註冊 --
|
|
|
|
自己動手做大數據系統(第2版) ( 簡體 字) |
作者:劉未昕 等 | 類別:1. -> 程式設計 -> 大數據 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 52621 詢問書籍請說出此書號!【有庫存】 NT售價: 395 元 |
出版日:4/1/2020 |
頁數:356 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121382024 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:前言
寫作背景
在第1版的基礎上,本書對近幾年大數據領域最新出現的各種流行組件,逐個進行介紹,并以離線大數據和流式大數據兩個具體示例貫穿本書的第二、三部分內容,對組件之間的協同工作關系進行剖析。這里新增了大數據平臺的架構選型及最佳實踐案例、大數據治理、流計算開發、基于Docker的大數據運維部署等部分。書中所使用的示例程序,是基于筆者在進行企業培訓時,企業提出的業務需求而展開的,從而使得示例程序更有代表性。
本書特色
? 在本書第1版的基礎上,按照離線大數據和流式大數據兩個場景進行劃分,這樣更有針對性。
? 在代碼實現上由本書第1版的以Java為主變為現在第2版的以Python為主,緊貼主流編程語言。
? 代碼的可用性增強。對于本書第1版的爬蟲部分代碼,隨著目標網站的樣式變更,書中的那些代碼無法繼續運行。現在第2版的爬蟲目標網站為作者制作的模擬站點,這樣就保證了讀者運行書中爬蟲代碼時的持續可用。
? 提供和本書配套的示例程序運行地址。讀者可以登錄http://www.broadview.com.cn/38202,運行書中所提供的示例程序,并下載書中有關章節的源碼。
? 提供和本書配套的大數據組件Docker的文件下載,以便讀者可以在本機運行書中所講解的示例程序。
? 提供QQ讀者群(群號:50926571)在線答疑。
讀者人群
? Python編程愛好者
? 在校學生
? 想轉行從事大數據工作的在職IT人員
序 言
從2016年10月本書第1版和讀者見面,至今已經過去3年多了。在這3年多里,區塊鏈、人工智能、物聯網等領域的風頭早已蓋過了大數據。雖然我們的寫作團隊在這些方面也出了幾本書,但卻一直關注著大數據領域的新技術和新趨勢。企業都在用哪些大數據組件?這些組件分別適用于何種場景?虛擬化技術目前最流行的又是什么?本書圍繞以上3個問題展開討論,希望能向讀者呈現一個相對完整的大數據架構圖。
“自己動手做”——不僅體現在書名中,更是學習、實踐大數據技術的主要方法。大數據領域包含了架構、應用、開發和運維等多個環節的工作,初學者往往會感覺門檻太高。本書選取了最常用的幾種大數據組件,用一個并不復雜的例子把這些組件串起來使用,目的是想降低學習門檻,讓讀者學有所得。
非習勞無以進業,IT領域的知識積累就是一個不斷“踩坑”的過程。除了要有正確的途徑,更要有個人不懈的努力。別人看似輕描淡寫的幾句指點,可能是其背后多次嘗試的總結;而自己覺得爬過的幾個“坑”,在別人看來可能根本不算什么事。我們期待著讀者能和我們積極互動,共同學習、共同提高!
寫書是一件費時費力的事情,寫作團隊的每一點進步,都是和家人的理解、支持分不開的。在此,我代表其他3位作者,向我們的家人表示感謝!特別感謝我的妻子吳芳,她的無私奉獻,使我在困逆之境仍能蹣跚前行。
最后,感謝博文視點符隆美女士及其他編輯人員的辛勤勞動。
劉未昕
2020年3月 |
內容簡介:本書在第1版的基礎上,介紹大數據的時代背景及應用方案、常用的離線大數據和流式大數據組件,以及基于云平臺的容器級數據平臺搭建。書中以離線大數據和流式大數據兩個具體示例,貫穿本書的第二、三部分內容,對組件之間的協同工作關系進行剖析。書中的代碼部分基本上使用Python編寫,用戶可以下載參考。如果你是一位在校學生、Python編程愛好者或是想轉行從事大數據工作的在職IT人員,閱讀本書必有所收獲! |
目錄:第一部分 大數據概述
第1章 大數據的時代背景及應用落地 2
1.1 大數據與“云大物區智”的關聯 2
1.2 大數據平臺的應用優勢 4
1.3 大數據平臺的技術架構選型和產品對比 4
第2章 大數據系統的安裝及配置 7
2.1 服務器及操作系統的準備 7
2.2 JDK、PYTHON和SCALA 8
2.3 HADOOP 12
2.3.1 安裝環境的確認及文件準備 16
2.3.2 配置環境變量及無密碼傳輸 16
2.3.3 配置Hadoop的對應參數 18
2.3.4 啟動并驗證Hadoop 20
2.4 SQOOP 20
2.4.1 Sqoop安裝文件的準備 22
2.4.2 Sqoop的安裝及配置 23
2.4.3 Sqoop運行驗證 24
2.5 HIVE 25
2.5.1 安裝文件的準備 26
2.5.2 配置環境變量和安裝MySQL 26
2.5.3 配置Hive參數 26
2.5.4 驗證Hive的相關服務 29
2.6 ZOOKEEPER和HBASE 29
2.6.1 ZooKeeper安裝文件的準備 30
2.6.2 ZooKeeper的安裝及配置 30
2.6.3 ZooKeeper運行驗證 31
2.6.4 HBase安裝文件的準備 31
2.6.5 HBase的安裝及配置 31
2.6.6 HBase運行驗證 32
2.7 FLUME 33
2.8 KAFKA 35
2.9 SPARK 37
2.9.1 Spark安裝文件的準備 38
2.9.2 Spark的安裝及配置 38
2.9.3 Spark運行驗證 39
2.10 FLINK 39
2.11 開源大數據系統各組件的組合 40
2.12 CDH 41
2.13 FUSIONINSIGHT 42
2.14 小結 44
第二部分 離線大數據處理
第3章 使用PYTHON爬蟲獲取數據 47
3.1 PYTHON爬蟲模塊的安裝 47
3.1.1 requests模塊的安裝及驗證 47
3.1.2 Beautiful Soup模塊的安裝及驗證 47
3.2 抓取并解析JSON數據 49
3.2.1 利用Fiddler找出所抓取的網址 49
3.2.2 解析JSON對象 51
3.3 抓取并解析HTML中的數據 52
3.3.1 使用Beautiful Soup提取網頁內容 52
3.3.2 保存抓取內容 53
3.3.3 不同爬蟲模塊所適用的場景 55
3.4 使用PYTHON提取文章的關鍵字 55
3.4.1 中文分詞和關鍵字的提取 55
3.4.2 Python的中文分詞模塊jieba 56
3.4.3 使用自定義詞典和停用詞 57
3.4.4 提取文章的關鍵字 58
3.5 小結 60
第4章 HIVE在大數據中的角色 61
4.1 HIVE的核心概念及配置使用 61
4.1.1 Hive在大數據生態系統中的作用 61
4.1.2 Hive的幾種使用方法 62
4.1.3 使用Tez引擎替代MapReduce 65
4.2 概要設計和物理模型的創建 68
4.2.1 使用Hive要解決哪些問題 68
4.2.2 數據庫的概要設計 68
4.2.3 物理模型的定義及創建表 73
4.3 加載爬蟲數據 79
4.4 數據的合并、去重和轉換 80
4.4.1 數據的合并 80
4.4.2 利用臨時表去掉重復的數據 81
4.4.3 使用Hive內置函數轉換數據 83
4.5 使用UDF實現數據的轉換 84
4.5.1 用戶自定義函數的實現原理 84
4.5.2 利用Python實現UDF 84
4.5.3 數據進入rpt表 87
4.6 使用PYTHON操作HIVE 89
4.6.1 安裝impyla模塊 89
4.6.2 使用Python讀取數據示例 89
4.7 ETL數據調度和數據治理 90
4.7.1 數據處理的自動化 90
4.7.2 數據治理 95
4.8 小結 96
第5章 使用HBASE實現大數據存儲 97
5.1 非關系型數據庫及HBASE 97
5.2 HBASE的幾個核心概念 98
5.3 HBASE數據操作命令 99
5.3.1 HBase客戶端 99
5.3.2 創建表及插入數據 100
5.3.3 按照行鍵值檢索 102
5.3.4 掃描檢索 102
5.3.5 刪除表和數據 104
5.4 使用PYTHON操作HBASE 107
5.4.1 啟動HBase Thrift Server 107
5.4.2 安裝happybase模塊 107
5.4.3 插入數據及刪除數據 107
5.4.4 組合查詢代碼示例 109
5.5 把HIVE數據導入HBASE 110
5.6 用HIVE外部表讀取HBASE數據 111
5.7 小結 112
第6章 SPARK數據分析引擎 113
6.1 SPARK簡介 113
6.2 SPARK集群的配置及啟動 114
6.2.1 Spark集群的安裝與配置 115
6.2.2 作業提交方式 116
6.2.3 操作界面的啟動類型 117
6.2.4 三類Web監控界面 119
6.3 調用HIVE數據 121
6.3.1 使用beeline客戶端 121
6.3.2 使用HiveContext對象 122
6.3.3 使用Spark SQL 123
6.3.4 使用JDBC 123
6.4 調用HBASE數據 123
6.4.1 設定環境變量 123
6.4.2 讀數據示例 124
6.5 使用PYSPARK進行數據分析 126
6.5.1 將RDD轉換為DataFrame 127
6.5.2 Spark SQL等值連接 129
6.5.3 使用matplotlib繪制直方圖 129
6.6 小結 130
第7章 使用FLASK實現數據展示 131
7.1 FLASK框架簡介及站點搭建流程 131
7.2 FLASK微框架的特性 132
7.3 使用MVC模式搭建項目框架 133
7.3.1 訪問地址 133
7.3.2 MVC模式簡介 133
7.3.3 項目目錄結構 134
7.4 檢索及加載新聞數據 135
7.4.1 模型層的開發 135
7.4.2 模型層的單元測試 136
7.4.3 控制器層的開發 138
7.4.4 控制器層的單元測試 139
7.4.5 視圖層的開發 140
7.5 小結 141
第二部分技術點總結 141
第三部分 流式大數據處理
第8章 使用FLUME獲取網站訪問日志 145
8.1 FLUME的安裝及數據流模型 145
8.1.1 Flume簡介及安裝 145
8.1.2 Flume的數據流模型 146
8.2 核心組件的配合使用 146
8.2.1 6種核心組件 146
8.2.2 配置文件 147
8.2.3 flume-ng命令 148
8.3 各種數據組合的流動方式 150
8.3.1 將日志收集至文件 150
8.3.2 Sink的多路復用 152
8.3.3 使用Avro作為數據源 154
8.3.4 Channel的多路復用 155
8.4 APACHE服務器的日志格式 158
8.5 合并兩個網站的日志 160
8.6 小結 162
第9章 KAFKA的安裝、配置及其與FLUME的整合 163
9.1 KAFKA的特性及安裝、配置 163
9.1.1 Kafka的特性和適用場合 163
9.1.2 安裝、配置Kafka 164
9.2 幾種術語 166
9.3 BROKER的使用方法 167
9.3.1 單節點單Broker 168
9.3.2 單節點多Broker 169
9.3.3 分布式Broker 172
9.3.4 分區及偏移量 174
9.3.5 分區選擇策略 176
9.4 分布式生產者/消費者 176
9.4.1 兩個生產者 176
9.4.2 消費者組 177
9.5 KAFKA CONNECTOR 180
9.5.1 File Source 181
9.5.2 File Sink 182
9.6 KAFKA和FLUME的整合 183
9.6.1 給Flume提供數據 183
9.6.2 從Flume中獲取數據 184
9.7 使用PYTHON連接KAFKA 186
9.8 小結 187
第10章 REDIS數據庫簡介 188
10.1 REDIS的特點及適用場景 188
10.2 REDIS的安裝及命令行使用方法 188
10.2.1 Redis的安裝及啟動 188
10.2.2 命令行客戶端 189
10.2.3 5種數據類型 190
10.2.4 字符串命令 191
10.3 使用PYTHON操作REDIS 193
10.4 使用JAVA操作REDIS 194
10.5 小結 195
第11章 FLINK簡介及其與KAFKA的整合 196
11.1 FLINK概述及其與SPARK的區別 196
11.2 FLINK的架構、特性及工作流程 196
11.3 FLINK的安裝 199
11.3.1 單節點的安裝 199
11.3.2 集群的安裝 201
11.3.3 利用ZooKeeper實現Flink的高可用性 203
11.4 FLINK的作業提交方式 205
11.4.1 以Standalone方式運行 205
11.4.2 利用YARN Session運行 207
11.4.3 利用Python調用Flink服務 212
11.4.4 使用REST API查看狀態 213
11.5 FLINK-KAFKA CONNECTOR 214
11.5.1 Flink為Kafka提供數據 215
11.5.2 Flink從Kafka接收數據 219
11.6 使用FLINK統計PAGEVIEW 221
11.6.1 Flink開發的一般步驟 221
11.6.2 Flink DataStream API 221
11.6.3 將數據落地至Redis和HBase 227
11.7 小結 235
第12章 網站頁面訪問量的動態展示 236
12.1 百度的ECHARTS圖表功能簡介 236
12.2 頁面訪問量的動態統計 238
12.2.1 模型層的開發 239
12.2.2 控制器層的開發 242
12.2.3 視圖層的開發 242
12.3 生成詞云圖和占比餅圖 245
12.3.1 詞云圖模型層的開發 245
12.3.2 詞云圖控制器層的開發 248
12.3.3 詞云圖視圖層的開發 249
12.3.4 關鍵字餅圖的模型層開發 249
12.3.5 關鍵字餅圖的控制器層開發 250
12.3.6 關鍵字餅圖的視圖層開發 251
12.4 訪問日志檢索 252
12.5 小結 253
第三部分技術點總結 253
第四部分 云平臺搭建
第13章 搭建基于云平臺的容器級數據系統 256
13.1 云平臺 256
13.1.1 云平臺架構 256
13.1.2 云平臺的搭建及部署 259
13.1.3 云平臺的高級配置 303
13.2 基于云平臺的容器集群 309
13.2.1 Magnum 309
13.2.2 Docker Swarm 311
13.2.3 Mesos和Marathon的結合 316
13.2.4 Kubernetes 323
13.3 基于容器的大數據系統 331
13.4 小結 339 |
序: |
|