Python大數(shù)據(jù)架構(gòu)全棧開(kāi)發(fā)與應(yīng)用
定 價(jià):139.99 元
當(dāng)前圖書(shū)已被 67 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:宋天龍
- 出版時(shí)間:2023/4/1
- ISBN:9787121453038
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)介紹了如何使用 Python 實(shí)現(xiàn)企業(yè)級(jí)的大數(shù)據(jù)全棧式開(kāi)發(fā)、設(shè)計(jì)和編程工作,涉及的知識(shí)點(diǎn)包括數(shù)據(jù)架構(gòu)整體設(shè)計(jì)、數(shù)據(jù)源和數(shù)據(jù)采集、數(shù)據(jù)同步、消息隊(duì)列、關(guān)系數(shù)據(jù)庫(kù)、NoSQL 數(shù)據(jù)庫(kù)、批處理、流處理、圖計(jì)算、人工智能、數(shù)據(jù)產(chǎn)品開(kāi)發(fā)。 本書(shū)既深入淺出地介紹了不同技術(shù)組件的基本原理,又通過(guò)詳細(xì)對(duì)比介紹了如何根據(jù)不同場(chǎng)景選擇最佳實(shí)踐技術(shù)方案,并通過(guò)代碼實(shí)操幫助讀者快速掌握常用技術(shù)的應(yīng)用過(guò)程,最后通過(guò)項(xiàng)目案例介紹了如何將所學(xué)知識(shí)應(yīng)用于實(shí)際業(yè)務(wù)場(chǎng)景中。
宋天龍,觸脈咨詢副總裁、合伙人。負(fù)責(zé)創(chuàng)新型業(yè)務(wù)的架構(gòu)和方案設(shè)計(jì)、產(chǎn)品與技術(shù)研發(fā)、數(shù)據(jù)團(tuán)隊(duì)建設(shè)及管理。張偉松,現(xiàn)就職于埃森哲,擔(dān)任數(shù)據(jù)架構(gòu)師職位。在大數(shù)據(jù)、數(shù)據(jù)分析、云計(jì)算等領(lǐng)域有多年的實(shí)踐經(jīng)驗(yàn),并擁有阿里云、谷歌云等多項(xiàng)專業(yè)認(rèn)證。
第1章 數(shù)據(jù)架構(gòu)整體設(shè)計(jì)1
1.1 數(shù)據(jù)架構(gòu)概述1
1.2 數(shù)據(jù)架構(gòu)設(shè)計(jì)的8個(gè)考慮因素1
1.2.1 適用性2
1.2.2 延伸性2
1.2.3 安全性3
1.2.4 易用性3
1.2.5 高性能4
1.2.6 成本限制5
1.2.7 應(yīng)用需求5
1.2.8 運(yùn)維管理5
1.3 數(shù)據(jù)架構(gòu)設(shè)計(jì)的4個(gè)核心內(nèi)容6
1.3.1 物理架構(gòu)6
1.3.2 邏輯架構(gòu)10
1.3.3 技術(shù)架構(gòu)13
1.3.4 數(shù)據(jù)流架構(gòu)15
1.4 常見(jiàn)的6種數(shù)據(jù)架構(gòu)17
1.4.1 簡(jiǎn)單數(shù)據(jù)庫(kù)支撐的數(shù)據(jù)架構(gòu)17
1.4.2 傳統(tǒng)數(shù)倉(cāng)支撐的數(shù)據(jù)架構(gòu)18
1.4.3 傳統(tǒng)大數(shù)據(jù)架構(gòu)20
1.4.4 流式大數(shù)據(jù)架構(gòu)22
1.4.5 流批一體大數(shù)據(jù)架構(gòu)23
1.4.6 存算分離的流批一體大數(shù)據(jù)架構(gòu)25
1.5 案例:某B2B企業(yè)的數(shù)據(jù)架構(gòu)選型26
1.5.1 企業(yè)背景26
1.5.2 應(yīng)用預(yù)期27
1.5.3 數(shù)據(jù)現(xiàn)狀27
1.5.4 選型分析27
1.5.5 選型方案28
1.5.6 未來(lái)拓展29
1.6 常見(jiàn)問(wèn)題29
第2章 數(shù)據(jù)源和數(shù)據(jù)采集32
2.1 數(shù)據(jù)源概述32
2.1.1 常見(jiàn)的3種數(shù)據(jù)類型32
2.1.2 常見(jiàn)的8種數(shù)據(jù)源33
2.2 企業(yè)內(nèi)部流量數(shù)據(jù)采集技術(shù)選型33
2.2.1 企業(yè)內(nèi)部流量數(shù)據(jù)采集常用的技術(shù)34
2.2.2 內(nèi)部流量數(shù)據(jù)采集技術(shù)選型的因素37
2.2.3 內(nèi)部流量數(shù)據(jù)采集技術(shù)選型總結(jié)39
2.3 企業(yè)外部互聯(lián)網(wǎng)數(shù)據(jù)采集技術(shù)選型40
2.3.1 外部互聯(lián)網(wǎng)數(shù)據(jù)采集常用的4種技術(shù)40
2.3.2 外部互聯(lián)網(wǎng)數(shù)據(jù)采集技術(shù)選型的5個(gè)因素44
2.3.3 外部互聯(lián)網(wǎng)數(shù)據(jù)采集技術(shù)選型總結(jié)44
2.4 使用Requests+BeautifulSoup抓取數(shù)據(jù)并寫入Sqlite45
2.4.1 安裝配置45
2.4.2 基本示例46
2.4.3 高級(jí)用法47
2.4.4 技術(shù)要點(diǎn)53
2.5 使用Scrapy+XPath抓取數(shù)據(jù)并寫入MongoDB54
2.5.1 安裝配置54
2.5.2 基本示例55
2.5.3 高級(jí)用法62
2.5.4 技術(shù)要點(diǎn)69
2.6 案例:某B2C電商企業(yè)的數(shù)據(jù)源結(jié)構(gòu)69
2.6.1 企業(yè)背景69
2.6.2 業(yè)務(wù)系統(tǒng)69
2.6.3 數(shù)據(jù)源結(jié)構(gòu)71
2.7 常見(jiàn)問(wèn)題71
第3章 數(shù)據(jù)同步74
3.1 數(shù)據(jù)同步概述74
3.1.1 數(shù)據(jù)同步的3種模式74
3.1.2 數(shù)據(jù)同步的5種預(yù)處理技術(shù)75
3.2 數(shù)據(jù)同步的技術(shù)選型76
3.2.1 數(shù)據(jù)同步的7種技術(shù)76
3.2.2 數(shù)據(jù)同步選型的9個(gè)因素80
3.2.3 數(shù)據(jù)同步技術(shù)選型總結(jié)82
3.3 Python操作DataX實(shí)現(xiàn)數(shù)據(jù)同步83
3.3.1 安裝配置84
3.3.2 基本示例84
3.3.3 高級(jí)用法89
3.3.4 技術(shù)要點(diǎn)95
3.4 Python操作第三方庫(kù)實(shí)現(xiàn)Google Analytics數(shù)據(jù)同步96
3.4.1 安裝配置96
3.4.2 基本示例100
3.4.3 高級(jí)用法104
3.4.4 技術(shù)要點(diǎn)111
3.5 案例:某O2O企業(yè)離線數(shù)據(jù)同步案例112
3.6 常見(jiàn)問(wèn)題114
第4章 消息隊(duì)列117
4.1 消息隊(duì)列概述117
4.1.1 消息隊(duì)列的核心概念117
4.1.2 選擇消息隊(duì)列的3種技術(shù)應(yīng)用場(chǎng)景118
4.2 消息隊(duì)列的技術(shù)選型119
4.2.1 常見(jiàn)的6種消息隊(duì)列技術(shù)119
4.2.2 消息隊(duì)列技術(shù)選型的4個(gè)維度121
4.2.3 消息隊(duì)列技術(shù)選型總結(jié)123
4.3 Python操作RabbitMQ處理消息隊(duì)列服務(wù)124
4.3.1 安裝配置124
4.3.2 基本示例125
4.3.3 高級(jí)用法129
4.3.4 技術(shù)要點(diǎn)131
4.4 Python操作Kafka處理消息隊(duì)列服務(wù)132
4.4.1 安裝配置132
4.4.2 基本示例135
4.4.3 高級(jí)用法138
4.4.4 技術(shù)要點(diǎn)139
4.5 Python操作ZeroMQ處理消息隊(duì)列服務(wù)140
4.5.1 安裝配置140
4.5.2 基本示例140
4.5.3 高級(jí)用法146
4.5.4 技術(shù)要點(diǎn)150
4.6 案例:利用消息隊(duì)列采集電商用戶行為數(shù)據(jù)151
4.6.1 案例背景151
4.6.2 主要技術(shù)151
4.6.3 案例過(guò)程152
4.6.4 案例小結(jié)155
4.7 常見(jiàn)問(wèn)題156
第5章 關(guān)系數(shù)據(jù)庫(kù)158
5.1 關(guān)系數(shù)據(jù)庫(kù)概述158
5.1.1 關(guān)系數(shù)據(jù)庫(kù)的相關(guān)概念158
5.1.2 使用關(guān)系數(shù)據(jù)庫(kù)的3種場(chǎng)景158
5.2 關(guān)系數(shù)據(jù)庫(kù)的技術(shù)選型159
5.2.1 常見(jiàn)的5種技術(shù)選型159
5.2.2 關(guān)系數(shù)據(jù)庫(kù)選型的3個(gè)維度161
5.2.3 關(guān)系數(shù)據(jù)庫(kù)技術(shù)選型總結(jié)162
5.3 使用基于DB-API 2.0規(guī)范的PyMySQL操作MySQL數(shù)據(jù)庫(kù)162
5.3.1 安裝配置163
5.3.2 基本示例163
5.3.3 高級(jí)用法165
5.3.4 技術(shù)要點(diǎn)169
5.4 使用基于ORM技術(shù)的SQLAlchemy操作PostgreSQL數(shù)據(jù)庫(kù)170
5.4.1 安裝配置170
5.4.2 基本示例171
5.4.3 高級(jí)用法175
5.4.4 技術(shù)要點(diǎn)180
5.5 案例:某傳統(tǒng)零售企業(yè)基于關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)集市181
5.5.1 企業(yè)背景181
5.5.2 企業(yè)為什么選擇SQL Server作為數(shù)據(jù)集市181
5.5.3 數(shù)據(jù)字典181
5.5.4 應(yīng)用場(chǎng)景183
5.6 常見(jiàn)問(wèn)題184
第6章 NoSQL數(shù)據(jù)庫(kù)186
6.1 NoSQL數(shù)據(jù)庫(kù)概述186
6.1.1 NoSQL數(shù)據(jù)庫(kù)的相關(guān)概念186
6.1.2 使用NoSQL數(shù)據(jù)庫(kù)的5種場(chǎng)景187
6.2 不同類型NoSQL數(shù)據(jù)庫(kù)的技術(shù)選型188
6.2.1 常見(jiàn)的3種鍵值數(shù)據(jù)庫(kù)技術(shù)選型188
6.2.2 常見(jiàn)的3種文檔型數(shù)據(jù)庫(kù)的技術(shù)選型188
6.2.3 常見(jiàn)的兩種列式存儲(chǔ)數(shù)據(jù)庫(kù)的技術(shù)選型190
6.2.4 常見(jiàn)的兩種圖數(shù)據(jù)庫(kù)的技術(shù)選型190
6.2.5 NoSQL數(shù)據(jù)庫(kù)技術(shù)選型的五大維度191
6.2.6 NoSQL數(shù)據(jù)庫(kù)技術(shù)選型總結(jié)192
6.3 使用Python操作HBase193
6.3.1 安裝配置193
6.3.2 基本示例195
6.3.3 HBase應(yīng)用過(guò)濾器進(jìn)行復(fù)雜查詢199
6.3.4 批量操作201
6.3.5 技術(shù)要點(diǎn)201
6.4 使用Python操作Redis202
6.4.1 安裝配置202
6.4.2 基本示例203
6.4.3 使用HyperLogLog實(shí)現(xiàn)獨(dú)立IP計(jì)數(shù)器210
6.4.4 Redis數(shù)據(jù)持久化212
6.4.5 技術(shù)要點(diǎn)213
6.5 使用Python操作ES213
6.5.1 安裝配置213
6.5.2 基本示例215
6.5.3 批量加載文檔到ES+使用Kibana進(jìn)行分析220
6.5.4 技術(shù)要點(diǎn)228
6.6 使用Python操作Neo4j230
6.6.1 安裝配置230
6.6.2 基本示例231
6.6.3 APOC234
6.6.4 技術(shù)要點(diǎn)236
6.7 使用Python操作MongoDB237
6.7.1 安裝配置237
6.7.2 基本示例237
6.7.3 文檔聚合與管道239
6.7.4 技術(shù)要點(diǎn)242
6.8 案例:某菜譜網(wǎng)站基于ES+Redis構(gòu)建智能搜索推薦引擎243
6.8.1 案例背景243
6.8.2 為什么選擇ES+Redis243
6.8.3 系統(tǒng)架構(gòu)244
6.8.4 相關(guān)要點(diǎn)245
6.8.5 案例延伸246
6.9 常見(jiàn)問(wèn)題246
第7章 批處理247
7.1 批處理概述247
7.1.1 批處理的基本特征247
7.1.2 批處理的3類應(yīng)用場(chǎng)景248
7.2 批處理的技術(shù)選型248
7.2.1 批處理的5種技術(shù)248
7.2.2 批處理選型的8個(gè)技術(shù)因素250
7.2.3 批處理選型總結(jié)251
7.3 Python使用PyHive操作HQL進(jìn)行批處理252
7.3.1 安裝配置252
7.3.2 基本示例252
7.3.3 數(shù)據(jù)批量加載及處理256
7.3.4 Hive函數(shù)259
7.3.5 窗口268
7.3.6 技術(shù)要點(diǎn)272
7.4 PySpark操作DataFrame進(jìn)行批處理273
7.4.1 安裝配置273
7.4.2 基本示例273
7.4.3 常用Spark DataFrame操作示例277
7.4.4 使用Spark MLlib + DataFrame進(jìn)行特征工程281
7.4.5 技術(shù)要點(diǎn)282
7.5 案例:某B2C企業(yè)基于PySpark實(shí)現(xiàn)用戶畫(huà)像標(biāo)簽的構(gòu)建283
7.6 常見(jiàn)問(wèn)題285
第8章 流處理288
8.1 流處理概述288
8.1.1 流處理的核心概念288
8.1.2 流處理的3個(gè)特征289
8.1.3 流處理的適用/不適用場(chǎng)景289
8.2 流處理的依賴條件290
8.2.1 流數(shù)據(jù)290
8.2.2 流式應(yīng)用291
8.3 流處理的技術(shù)選型291
8.3.1 流處理的3種技術(shù)291
8.3.2 流處理選型的7個(gè)技術(shù)因素295
8.3.3 流處理技術(shù)選型總結(jié)295
8.4 Python操作Structured Streaming實(shí)現(xiàn)流處理296
8.4.1 安裝配置296
8.4.2 基本示例298
8.4.3 高級(jí)用法322
8.4.4 技術(shù)要點(diǎn)328
8.5 案例:某B2C企業(yè)基于Structured Streaming實(shí)現(xiàn)實(shí)時(shí)話題熱榜統(tǒng)計(jì)330
8.6 常見(jiàn)問(wèn)題331
第9章 圖計(jì)算333
9.1 圖計(jì)算概述333
9.1.1 圖計(jì)算的特征333
9.1.2 圖計(jì)算的算法和應(yīng)用場(chǎng)景334
9.2 圖計(jì)算引擎的技術(shù)選型335
9.2.1 圖計(jì)算的8種技術(shù)335
9.2.2 圖計(jì)算選型的8個(gè)技術(shù)因素338
9.2.3 圖計(jì)算選型總結(jié)339
9.3 Python操作GraphFrames實(shí)現(xiàn)圖計(jì)算341
9.3.1 安裝配置341
9.3.2 構(gòu)建圖341
9.3.3 視圖分析342
9.3.4 子頂點(diǎn)、子邊和子圖過(guò)濾344
9.3.5 度分析345
9.3.6 模體查找346
9.3.7 圖持久化348
9.3.8 廣度優(yōu)先搜索348
9.3.9 最短路徑搜索349
9.3.10 連通分量和強(qiáng)連通分量351
9.3.11 標(biāo)簽傳播351
9.3.12 通用網(wǎng)頁(yè)排名和個(gè)性化網(wǎng)頁(yè)排名352
9.3.13 三角形計(jì)數(shù)354
9.3.14 技術(shù)要點(diǎn)355
9.4 案例:基于用戶社交行為的分析355
9.5 常見(jiàn)問(wèn)題359
第10章 人工智能361
10.1 人工智能概述361
10.1.1 人工智能的4種應(yīng)用場(chǎng)景361
10.1.2 人工智能的12類常用算法介紹362
10.2 人工智能的技術(shù)選型366
10.2.1 常見(jiàn)的3種技術(shù)框架366
10.2.2 人工智能選型的6個(gè)因素368
10.2.3 人工智能選型總結(jié)369
10.3 PySpark ML的應(yīng)用實(shí)踐370
10.3.1 準(zhǔn)備數(shù)據(jù)371
10.3.2 特征工程和處理373
10.3.3 核心算法應(yīng)用375
10.3.4 Pipeline式應(yīng)用381
10.3.5 訓(xùn)練和預(yù)測(cè)拆分及持久化操作384
10.3.6 超參數(shù)優(yōu)化的