Apache Spark大數(shù)據(jù)分析 基于Azure Databricks云平臺(tái)
定 價(jià):79.8 元
- 作者:[瑞典]羅伯特·伊利杰森(Robert Ilijason)
- 出版時(shí)間:2023/6/1
- ISBN:9787115614568
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:236
- 紙張:
- 版次:01
- 開本:小16開
Azure Databricks是一款基于云的大數(shù)據(jù)分析和機(jī)器學(xué)習(xí)平臺(tái),用于實(shí)現(xiàn)基于Apache Spark的數(shù)據(jù)處理,為快速增長(zhǎng)的海量數(shù)據(jù)的處理和決策需求分析提供了良好的支撐。《Apache Spark大數(shù)據(jù)分析:基于Azure Databricks云平臺(tái)》詳細(xì)介紹基于Azure Databricks云平臺(tái)來使用Apache Spark完成大規(guī)模數(shù)據(jù)處理和分析的方法。本書總計(jì)11章,首先介紹大規(guī)模數(shù)據(jù)分析相關(guān)的概念;然后介紹受管的Spark及其與Databricks的關(guān)系,以及Databricks的版本差異和使用方法(涵蓋工作區(qū)、集群、筆記本、Databricks文件系統(tǒng)、數(shù)據(jù)導(dǎo)入/導(dǎo)出等內(nèi)容);接著介紹使用SQL和Python分別實(shí)現(xiàn)數(shù)據(jù)分析的過程,數(shù)據(jù)提取、變換、加載、存儲(chǔ)、優(yōu)化技巧等高階數(shù)據(jù)處理方法以及外部連接工具、生產(chǎn)環(huán)境集成等內(nèi)容;最后探討了運(yùn)行機(jī)器學(xué)習(xí)算法、合并數(shù)據(jù)更新以及通過API運(yùn)行Databricks、Delta流處理等高階主題。
作為數(shù)據(jù)分析領(lǐng)域的入門書,本書具有很強(qiáng)的實(shí)用性,可供數(shù)據(jù)工程師、數(shù)據(jù)分析師和決策分析人員等學(xué)習(xí)和參考。
1.輕松學(xué)習(xí)掌握可快速分析大量數(shù)據(jù)的Apache Spark和云端的Databricks,低成本有效地獲取數(shù)據(jù)中的高價(jià)值。
2.內(nèi)容豐富詳盡。不僅介紹了整合大量數(shù)據(jù)的方法,還講解了云端分析、數(shù)據(jù)湖、數(shù)據(jù)攝取、體系結(jié)構(gòu)和機(jī)器學(xué)習(xí),以及Apache Spark、Apache Hadoop、Apache Hive、Python和SQL等相關(guān)工具。
3.講解透徹易懂。理解底層技術(shù),學(xué)會(huì)將云和Apache Spark融入數(shù)據(jù)分析,了解數(shù)據(jù)分析工具在現(xiàn)實(shí)世界中的具體用法。
[瑞典]羅伯特·伊利杰森(Robert Ilijason),商務(wù)智能領(lǐng)域深耕20年的戰(zhàn)場(chǎng)老兵,曾擔(dān)任過歐洲一些大公司的外包人,并在零售、電信、銀行、政府機(jī)構(gòu)等領(lǐng)域做過大規(guī)模數(shù)據(jù)分析項(xiàng)目。多年來,數(shù)據(jù)分析領(lǐng)域的各種風(fēng)尚潮起潮落,但他深信云端Apache Spark(尤其是與Databricks一起)與眾不同,將是游戲規(guī)則的改變者。
第 1章 大規(guī)模數(shù)據(jù)分析簡(jiǎn)介 1
1.1 宣傳中的數(shù)據(jù)分析 1
1.2 現(xiàn)實(shí)中的數(shù)據(jù)分析 2
1.3 大規(guī)模數(shù)據(jù)分析 3
1.4 數(shù)據(jù)—分析中的燃料 5
1.5 免費(fèi)的工具 6
1.6 進(jìn)入云端 8
1.7 Databricks—懶人的分析工具 9
1.8 如何分析數(shù)據(jù) 9
1.9 真實(shí)世界的大規(guī)模數(shù)據(jù)分析示例 11
1.9.1 Volvo Trucks的遠(yuǎn)程信息處理 11
1.9.2 Visa的欺詐識(shí)別 11
1.9.3 Target的客戶分析 12
1.9.4 Cambridge Analytica有針對(duì)性的廣告投放 12
1.10 小結(jié) 12
第 2章 Spark和Databricks 14
2.1 Apache Spark簡(jiǎn)介 14
2.2 Databricks—受管的Apache Spark 16
2.3 Spark的架構(gòu) 18
2.3.1 Apache Spark如何處理作業(yè) 19
2.3.2 數(shù)據(jù) 20
2.4 內(nèi)核之上的出色組件 23
2.5 小結(jié) 23
第3章 Databricks初步 25
3.1 只能通過云來使用 25
3.2 免費(fèi)的社區(qū)版 26
3.2.1 差不多夠用了 26
3.2.2 使用社區(qū)版 26
3.3 夢(mèng)寐以求的商業(yè)版 28
3.3.1 Amazon Web Services上的Databricks 29
3.3.2 Azure Databricks 32
3.4 小結(jié) 34
第4章 工作區(qū)、集群和筆記本 35
4.1 在UI中漫游 35
4.2 集群 38
4.3 數(shù)據(jù) 40
4.4 筆記本 42
4.5 小結(jié) 44
第5章 將數(shù)據(jù)載入Databricks 46
5.1 Databricks文件系統(tǒng) 46
5.1.1 文件系統(tǒng)導(dǎo)航 47
5.1.2 FileStore—通往自有數(shù)據(jù)的門戶 49
5.2 模式、數(shù)據(jù)庫和表 50
5.3 各種類型的數(shù)據(jù)源 文件 51
5.3.1 二進(jìn)制格式 53
5.3.2 其他傳輸方式 54
5.4 從你的計(jì)算機(jī)中導(dǎo)入數(shù)據(jù) 54
5.5 從Web獲取數(shù)據(jù) 56
5.5.1 使用shell 56
5.5.2 使用Python執(zhí)行簡(jiǎn)單導(dǎo)入 58
5.5.3 使用SQL獲取數(shù)據(jù) 60
5.6 掛載文件系統(tǒng) 60
5.6.1 Amazon S3掛載示例 61
5.6.2 Microsoft Blog Storage掛載示例 62
5.6.3 刪除掛載 63
5.7 如何從Databricks中獲取數(shù)據(jù) 64
5.8 小結(jié) 65
第6章 使用SQL查詢數(shù)據(jù) 67
6.1 Databricks中的SQL 67
6.2 準(zhǔn)備工作 68
6.3 選擇數(shù)據(jù) 69
6.4 篩選數(shù)據(jù) 70
6.5 連接和合并 73
6.6 對(duì)數(shù)據(jù)進(jìn)行排序 75
6.7 函數(shù) 76
6.8 窗口函數(shù) 77
6.9 視圖 79
6.10 層次型數(shù)據(jù) 80
6.11 創(chuàng)建數(shù)據(jù) 82
6.12 操作數(shù)據(jù) 84
6.13 Delta Lake SQL 85
6.13.1 UPDATE、DELETE和MERGE 86
6.13.2 確保Delta Lake狀況良好 88
6.13.3 事務(wù)日志 88
6.13.4 選擇元數(shù)據(jù) 89
6.13.5 收集統(tǒng)計(jì)信息 90
6.14 小結(jié) 91
第7章 Python的威力 92
7.1 Python—不二的選擇 92
7.2 加強(qiáng)版Python簡(jiǎn)介 93
7.3 查找數(shù)據(jù) 96
7.4 DataFrame—活動(dòng)數(shù)據(jù)的居住之所 97
7.5 加載一些數(shù)據(jù) 98
7.6 從DataFrame中選擇數(shù)據(jù) 101
7.7 串接命令 103
7.8 使用多個(gè)DataFrame 112
7.9 整理數(shù)據(jù) 118
7.10 小結(jié) 122
第8章 ETL和高級(jí)數(shù)據(jù)整理 123
8.1 再談ETL 123
8.2 Spark UI簡(jiǎn)介 124
8.3 數(shù)據(jù)清理和變換 125
8.3.1 查找NULL 126
8.3.2 刪除NULL 128
8.3.3 使用值來填充NULL列 129
8.3.4 去重 131
8.3.5 找出并清除極端值 132
8.3.6 處理列 135
8.3.7 轉(zhuǎn)置 137
8.3.8 爆裂 138
8.3.9 什么情況下惰性求值有益 139
8.3.10 緩存數(shù)據(jù) 140
8.3.11 數(shù)據(jù)壓縮 142
8.3.12 有關(guān)函數(shù)的簡(jiǎn)短說明 144
8.3.13 lambda函數(shù) 145
8.4 數(shù)據(jù)存儲(chǔ)和混洗 146
8.4.1 保存模式 146
8.4.2 受管表和非受管表 148
8.4.3 處理分區(qū) 149
8.5 小結(jié) 154
第9章 在Databricks和外部工具之間建立連接 155
9.1 為何要在Databricks和外部工具之間建立連接 155
9.2 讓ODBC和JDBC運(yùn)轉(zhuǎn)起來 156
9.2.1 創(chuàng)建令牌 157
9.2.2 準(zhǔn)備集群 157
9.2.3 創(chuàng)建測(cè)試表 158
9.2.4 在Windows系統(tǒng)中安裝ODBC 158
9.2.5 在macOS系統(tǒng)中安裝ODBC 159
9.3 在外部工具中連接到Databricks 162
9.3.1 Microsoft Excel(Windows) 162
9.3.2 Microsoft Power BI桌面版(Windows) 163
9.3.3 Tableau(macOS) 164
9.3.4 PyCharm(通過Databricks Connect進(jìn)行連接) 165
9.4 使用RStudio Server 168
9.5 訪問外部系統(tǒng) 170
9.6 連接到外部系統(tǒng) 171
9.6.1 連接到Azure SQL 171
9.6.2 連接到Oracle 172
9.6.3 連接到MongoDB 174
9.7 小結(jié) 175
第 10章 在生產(chǎn)環(huán)境中運(yùn)行解決方案 176
10.1 一般性建議 176
10.1.1 設(shè)想最糟的情況 177
10.1.2 編寫可反復(fù)運(yùn)行的代碼 177
10.1.3 對(duì)代碼進(jìn)行注釋 177
10.1.4 編寫簡(jiǎn)單易懂的代碼 178
10.1.5 打印相關(guān)的信息 178
10.2 作業(yè) 179
10.2.1 調(diào)度 180
10.2.2 在筆記本中運(yùn)行其他筆記本 181
10.2.3 小部件 183
10.2.4 運(yùn)行接受參數(shù)的作業(yè) 185
10.3 命令行接口 186
10.3.1 安裝CLI 186
10.3.2 運(yùn)行CLI命令 187
10.4 再談費(fèi)用 193
10.5 用戶、組和安全選項(xiàng) 194
10.5.1 用戶和組 194
10.5.2 訪問控制 195
10.5.3 其他特性 198
10.6 小結(jié) 199
第 11章 雜項(xiàng) 200
11.1 MLlib 201
11.2 頻繁模式增長(zhǎng) 201
11.2.1 創(chuàng)建一些數(shù)據(jù) 202
11.2.2 準(zhǔn)備好數(shù)據(jù) 203
11.2.3 運(yùn)行算法 204
11.2.4 分析結(jié)果 204
11.3 MLflow 205
11.3.1 運(yùn)行代碼 206
11.3.2 檢查結(jié)果 208
11.4 更新表 208
11.4.1 創(chuàng)建源表 209
11.4.2 從Databricks連接到Oracle數(shù)據(jù)庫 210
11.4.3 提取變更的數(shù)據(jù) 211
11.4.4 驗(yàn)證格式 212
11.4.5 更新表 212
11.5 Pandas簡(jiǎn)介 213
11.6 Koalas—Spark版Pandas 213
11.6.1 鼓搗Koalas 214
11.6.2 Koalas的未來 216
11.7 數(shù)據(jù)呈現(xiàn)藝術(shù) 217
11.7.1 準(zhǔn)備數(shù)據(jù) 218
11.7.2 使用Matplotlib 219
11.7.3 創(chuàng)建并顯示儀表板 220
11.7.4 添加小部件 220
11.7.5 添加圖表 221
11.7.6 調(diào)度 221
11.8 REST API和Databricks 222
11.8.1 能夠做什么 222
11.8.2 不能做什么 222
11.8.3 為使用API做好準(zhǔn)備 223
11.8.4 示例:獲取集群數(shù)據(jù) 223
11.8.5 示例:創(chuàng)建并執(zhí)行作業(yè) 226
11.8.6 示例:獲取筆記本 228
11.8.7 所有API及其用途 229
11.9 Delta流處理 230
11.9.1 運(yùn)行流 231
11.9.2 檢查和停止流 234
11.9.3 加快運(yùn)行節(jié)奏 234
11.9.4 使用檢查點(diǎn) 235