包郵 Python和PySpark數(shù)據(jù)分析(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù))
-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(shū)(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
Python和PySpark數(shù)據(jù)分析(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)) 版權(quán)信息
- ISBN:9787302645368
- 條形碼:9787302645368 ; 978-7-302-64536-8
- 裝幀:平裝-膠訂
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>
Python和PySpark數(shù)據(jù)分析(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)) 本書(shū)特色
《Python和PySpark數(shù)據(jù)分析》有 14 章和 3 個(gè)附錄,詳細(xì)介紹了如何將PySpark 應(yīng)用到日常的數(shù)據(jù)科學(xué)工作中。通過(guò)通俗易懂的示例,介紹了PySpark中的實(shí)用知識(shí)點(diǎn)和語(yǔ)法,使你能夠輕松掌握PySpark的核心概念,并將其應(yīng)用于實(shí)際工作中。在本書(shū)中,你將學(xué)習(xí)如何使用 PySpark 進(jìn)行數(shù)據(jù)預(yù)處理、模型訓(xùn)練和評(píng)估等常見(jiàn)的數(shù)據(jù)科學(xué)任務(wù)。每個(gè)章節(jié)都以具體的示例和案例展示了 PySpark 在不同情景下的應(yīng)用方法和技巧。通過(guò)實(shí)際操作,你將了解如何使用 PySpark 處理大規(guī)模數(shù)據(jù)集、構(gòu)建復(fù)雜的數(shù)據(jù)處理流程以及應(yīng)對(duì)常見(jiàn)的數(shù)據(jù)質(zhì)量和性能挑戰(zhàn)。
Python和PySpark數(shù)據(jù)分析(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)) 內(nèi)容簡(jiǎn)介
Spark數(shù)據(jù)處理引擎是一個(gè)驚人的分析工廠:輸入原始數(shù)據(jù),輸出洞察。PySpark用基于Python的API封裝了Spark的核心引擎。它有助于簡(jiǎn)化Spark陡峭的學(xué)習(xí)曲線,并使這個(gè)強(qiáng)大的工具可供任何在Python數(shù)據(jù)生態(tài)系統(tǒng)中工作的人使用。 《Python和PySpark數(shù)據(jù)分析》幫助你使用PySpark解決數(shù)據(jù)科學(xué)的日常挑戰(zhàn)。你將學(xué)習(xí)如何跨多臺(tái)機(jī)器擴(kuò)展處理能力,同時(shí)從任何來(lái)源(無(wú)論是Hadoop集群、云數(shù)據(jù)存儲(chǔ)還是本地?cái)?shù)據(jù)文件)獲取數(shù)據(jù)。一旦掌握了基礎(chǔ)知識(shí),就可以通過(guò)構(gòu)建機(jī)器學(xué)習(xí)管道,并配合Python、pandas和PySpark代碼,探索PySpark的全面多功能特性。 主要內(nèi)容 ● 組織PySpark代碼 ● 管理任何規(guī)模的數(shù)據(jù) ● 充滿信心地?cái)U(kuò)展你的數(shù)據(jù)項(xiàng)目 ● 解決常見(jiàn)的數(shù)據(jù)管道問(wèn)題 ● 創(chuàng)建可靠的長(zhǎng)時(shí)間運(yùn)行的任務(wù)
Python和PySpark數(shù)據(jù)分析(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)) 目錄
1.1 什么是PySpark 1
1.1.1 從頭開(kāi)始:什么是Spark 2
1.1.2 PySpark = Spark Python 3
1.1.3 為什么選擇PySpark 3
1.2 PySpark的工作原理 5
1.2.1 使用集群管理器進(jìn)行物理規(guī)劃 6
1.2.2 懶惰的主管成就工廠的高效 8
1.3 你將從本書(shū)學(xué)到什么 11
1.4 我們將如何開(kāi)始 12
1.5 本章小結(jié) 13
第Ⅰ部分 介紹:PySpark的**步
第2章 使用PySpark編寫(xiě)的**個(gè)數(shù)據(jù)處理程序 17
2.1 設(shè)置pyspark shell 18
2.1.1 SparkSession入口點(diǎn) 20
2.1.2 配置PySpark的日志級(jí)別 21
2.2 映射程序 22
2.3 采集和探索:為數(shù)據(jù)轉(zhuǎn)換奠定基礎(chǔ) 23
2.3.1 用spark.read將數(shù)據(jù)讀入數(shù)據(jù)幀 24
2.3.2 從結(jié)構(gòu)到內(nèi)容:使用show()探索數(shù)據(jù)幀 27
2.4 簡(jiǎn)單的列轉(zhuǎn)換:將句子拆解為單詞列表 29
2.4.1 使用select()選擇特定的列 30
2.4.2 轉(zhuǎn)換列:將字符串拆分為單詞列表 31
2.4.3 重命名列:alias和withColumnRenamed 33
2.4.4 重塑數(shù)據(jù):將list分解成行 34
2.4.5 處理單詞:更改大小寫(xiě)并刪除標(biāo)點(diǎn)符號(hào) 36
2.5 篩選記錄 38
2.6 本章小結(jié) 40
2.7 擴(kuò)展練習(xí) 40
第3章 提交并擴(kuò)展你的**個(gè)PySpark程序 43
3.1 對(duì)記錄進(jìn)行分組:計(jì)算詞頻 43
3.2 使用orderBy對(duì)結(jié)果排序 46
3.3 保存數(shù)據(jù)幀中的數(shù)據(jù) 48
3.4 整合所有內(nèi)容:計(jì)數(shù) 49
3.4.1 使用PySpark的導(dǎo)入約定簡(jiǎn)化依賴 50
3.4.2 通過(guò)方法鏈簡(jiǎn)化程序 51
3.5 使用spark-submit以批處理模式啟動(dòng)程序 53
3.6 本章未涉及的內(nèi)容 54
3.7 擴(kuò)展詞頻程序 55
3.8 本章小結(jié) 56
3.9 擴(kuò)展練習(xí) 57
第4章 使用pyspark.sql分析表格數(shù)據(jù) 59
4.1 什么是表格數(shù)據(jù) 60
4.2 使用PySpark分析和處理表格數(shù)據(jù) 62
4.3 在PySpark中讀取和評(píng)估帶分隔符的數(shù)據(jù) 63
4.3.1 **次使用專門(mén)處理CSV文件的SparkReader 63
4.3.2 自定義SparkReader對(duì)象來(lái)讀取CSV數(shù)據(jù)文件 65
4.3.3 探索數(shù)據(jù)世界的輪廓 67
4.4 數(shù)據(jù)操作基礎(chǔ):選擇、刪除、
重命名、排序及診斷 68
4.4.1 了解我們想要什么:選擇列 69
4.4.2 只保留我們想要的:刪除列 71
4.4.3 創(chuàng)建新列:使用withColumn()創(chuàng)建新列 73
4.4.4 整理數(shù)據(jù)幀:對(duì)列進(jìn)行重命名和重排序 76
4.4.5 用describe()和summary()分析數(shù)據(jù)幀 78
4.5 本章小結(jié) 80
4.6 擴(kuò)展練習(xí) 80
第5章 數(shù)據(jù)幀操作:連接和分組 83
5.1 連接數(shù)據(jù) 83
5.1.1 探索連接的世界 84
5.1.2 了解連接的兩邊 85
5.1.3 成功連接的規(guī)則:謂詞 85
5.1.4 連接方法 87
5.1.5 連接的命名約定 91
5.2 通過(guò)groupby和GroupedData匯總數(shù)據(jù) 94
5.2.1 一個(gè)簡(jiǎn)單的分組藍(lán)圖 95
5.2.2 對(duì)自定義列使用agg() 98
5.3 處理null值:刪除或填充 100
5.3.1 立即刪除:使用dropna()
刪除具有null值的記錄 100
5.3.2 使用fillna()替換null值 101
5.4 問(wèn)題回顧:端到端程序 102
5.5 本章小結(jié) 105
5.6 擴(kuò)展練習(xí) 105 第Ⅱ部分 進(jìn)級(jí):將你的想法轉(zhuǎn)化為代碼
第6章 多維數(shù)據(jù)幀:使用PySpark處理JSON數(shù)據(jù) 109
6.1 讀取JSON數(shù)據(jù):為schemapocalypse做好準(zhǔn)備 109
6.1.1 從小處開(kāi)始:將JSON數(shù)據(jù)作為受限的Python字典 111
6.1.2 更進(jìn)一步:在PySpark中讀取JSON數(shù)據(jù) 113
6.2 用復(fù)雜的數(shù)據(jù)類(lèi)型突破二維數(shù)據(jù) 114
6.2.1 當(dāng)有多個(gè)值時(shí):使用數(shù)組 116
6.2.2 映射類(lèi)型:同一列中的鍵和值 119
6.3 結(jié)構(gòu)體:列中的嵌套列 121
6.4 構(gòu)建和使用數(shù)據(jù)幀模式 125
6.4.1 使用Spark類(lèi)型作為schema的基本代碼塊 125
6.4.2 使用結(jié)構(gòu)體模式原地讀取JSON文檔 127
6.4.3 循環(huán)往復(fù):以JSON格式指定模式 131
6.5 進(jìn)行整合:使用復(fù)雜數(shù)據(jù)類(lèi)型減少重復(fù)數(shù)據(jù) 133
6.5.1 獲取“剛剛好”的數(shù)據(jù)幀:explode和collect 135
6.5.2 創(chuàng)建自己的層次結(jié)構(gòu):作為函數(shù)的結(jié)構(gòu)體 138
6.6 本章小結(jié) 139
6.7 擴(kuò)展練習(xí) 139
第7章 雙語(yǔ)PySpark:混合Python和SQL 141
7.1 根據(jù)我們的了解:pyspark.sql 與普通 SQL 142
7.2 為SQL準(zhǔn)備數(shù)據(jù)幀 143
7.2.1 將數(shù)據(jù)幀轉(zhuǎn)換為Spark表 144
7.2.2 使用Spark目錄 145
7.3 SQL和PySpark 146
7.4 在數(shù)據(jù)幀方法中使用類(lèi)似SQL的語(yǔ)法 148
7.4.1 獲取所需的行和列:select和where 148
7.4.2 將相似的記錄分組在一起:group by和order by 149
7.4.3 在分組后使用having進(jìn)行篩選 150
7.4.4 使用CREATE關(guān)鍵字創(chuàng)建新表/視圖 151
7.4.5 使用UNION和JOIN向表中添加數(shù)據(jù) 153
7.4.6 通過(guò)子查詢和公共表表達(dá)式更好地組織SQL代碼 154
7.4.7 PySpark與SQL語(yǔ)法的快速總結(jié) 157
7.5 簡(jiǎn)化代碼:混合SQL和Python 157
7.5.1 使用Python提高彈性并簡(jiǎn)化數(shù)據(jù)讀取階段 158
7.5.2 在PySpark中使用SQL風(fēng)格的表達(dá)式 159
7.6 結(jié)論 161
7.7 本章小結(jié) 161
7.8 擴(kuò)展練習(xí) 162
第8章 使用Python擴(kuò)展PySpark: RDD和UDF 165
8.1 PySpark中的RDD 166
8.2 使用Python通過(guò)UDF擴(kuò)展PySpark 173
8.2.1 這一切都從簡(jiǎn)單的Python開(kāi)始:使用類(lèi)型化的Python函數(shù) 174
8.2.2 使用udf()將Python函數(shù)轉(zhuǎn)換為UDF 176
8.3 本章小結(jié) 179
8.4 擴(kuò)展練習(xí) 179
第9章 大數(shù)據(jù)就是大量的小數(shù)據(jù):使用pandas UDF 181
9.1 通過(guò)pandas進(jìn)行列轉(zhuǎn)換:使用Series UDF 182
9.1.1 將Spark連接到谷歌的BigQuery 183
9.1.2 Series to Series UDF:使用pandas的列函數(shù) 188
9.1.3 標(biāo)量UDF 冷啟動(dòng)=Series UDF的迭代器 190
9.2 分組數(shù)據(jù)上的UDF:聚合
與應(yīng)用 193
9.2.1 分組聚合UDF 194
9.2.2 分組映射UDF 196
9.3 何時(shí)用,怎么用 198
9.4 本章小結(jié) 200
9.5 擴(kuò)展練習(xí) 200
第10章 不同視角下的數(shù)據(jù):窗口函數(shù) 203
10.1 學(xué)習(xí)并使用簡(jiǎn)單的窗口函數(shù) 204
10.1.1 確定每年*冷的一天 204
10.1.2 創(chuàng)建并使用一個(gè)簡(jiǎn)單的窗口函數(shù)來(lái)獲取*冷的日子 206
10.1.3 比較兩種方法 210
10.2 除了匯總:使用排名和分析功能 211
10.2.1 排名函數(shù):看看誰(shuí)是** 212
10.2.2 分析函數(shù):回顧過(guò)去和展望未來(lái) 216
10.3 彈性窗口!使用行和范圍的邊界 218
10.3.1 計(jì)數(shù),窗口樣式:靜態(tài)、增長(zhǎng)和無(wú)邊界 219
10.3.2 范圍和行 221
10.4 綜合實(shí)踐:在窗口中使用UDF 224
10.5 查看窗口:成功的窗口函數(shù)的主要步驟 226
10.6 本章小結(jié) 226
10.7 擴(kuò)展練習(xí) 226
第11章 加速PySpark:理解Spark的查詢計(jì)劃 229
11.1 芝麻開(kāi)門(mén):通過(guò)Spark UI了解Spark環(huán)境 229
11.1.1 查看配置:Environment選項(xiàng)卡 231
11.1.2 Executors選項(xiàng)卡和resource management選項(xiàng)卡 233
11.1.3 了解任務(wù)的運(yùn)行:通過(guò)Spark UI判斷任務(wù)是否完成 237
11.1.4 通過(guò)Spark查詢計(jì)劃映射操作:SQL選項(xiàng)卡 240
11.1.5 Spark的核心:解析、分析、優(yōu)化和物理計(jì)劃 242
11.2 關(guān)于性能:操作和內(nèi)存 246
11.2.1 寬操作與窄操作 246
11.2.2 緩存數(shù)據(jù)幀:功能強(qiáng)大,但往往致命(對(duì)于性能而言) 251
11.3 本章小結(jié) 254
第Ⅲ部分 使用PySpark進(jìn)行機(jī)器學(xué)習(xí)
第12章 準(zhǔn)備工作:為機(jī)器學(xué)習(xí)準(zhǔn)備特征 259
12.1 閱讀、探索和準(zhǔn)備機(jī)器學(xué)習(xí)數(shù)據(jù)集 260
12.1.1 使用toDF()對(duì)列名進(jìn)行標(biāo)準(zhǔn)化 261
12.1.2 探索數(shù)據(jù)并獲取**個(gè)特征列 262
12.1.3 解決數(shù)據(jù)錯(cuò)誤并構(gòu)建**個(gè)特征集 264
12.1.4 刪除無(wú)用記錄并估算二分類(lèi)特征 266
12.1.5 處理極值:清洗帶有連續(xù)值的列 268
12.1.6 刪除不常見(jiàn)的二分類(lèi)列 271
12.2 特征創(chuàng)建和細(xì)化 272
12.2.1 創(chuàng)建自定義特征 272
12.2.2 去除高度相關(guān)的特征 273
12.3 基于轉(zhuǎn)換器和估計(jì)器的特征準(zhǔn)備 276
12.3.1 使用Imputer估計(jì)器填充連續(xù)特征 277
12.3.2 使用MinMaxScaler估計(jì)器對(duì)特征進(jìn)行縮放 279
12.4 本章小結(jié) 281
第13章 通過(guò)機(jī)器學(xué)習(xí)管道增強(qiáng)機(jī)器學(xué)習(xí) 283
13.1 轉(zhuǎn)換器和估計(jì)器: Spark
中機(jī)器學(xué)習(xí)的構(gòu)建塊 284
13.1.1 數(shù)據(jù)進(jìn)出:轉(zhuǎn)換器 285
13.1.2 估計(jì)器 289
13.2 構(gòu)建(完整的)機(jī)器學(xué)習(xí)管道 290
13.2.1 使用向量列類(lèi)型組裝*終數(shù)據(jù)集 292
13.2.2 使用LogisticRegression分類(lèi)器訓(xùn)練機(jī)器學(xué)習(xí)模型 295
13.3 評(píng)估和優(yōu)化模型 297
13.3.1 評(píng)估模型準(zhǔn)確率:混淆矩陣和評(píng)估器對(duì)象 298
13.3.2 真陽(yáng)性與假陽(yáng)性:ROC曲線 300
13.3.3 使用交叉驗(yàn)證優(yōu)化超參數(shù) 302
13.4 從模型中獲取*大的驅(qū)動(dòng)力:提取系數(shù) 305
13.5 本章小結(jié) 307
第14章 構(gòu)建自定義機(jī)器學(xué)習(xí)轉(zhuǎn)換器和估計(jì)器 309
14.1 創(chuàng)建自己的轉(zhuǎn)換器 309
14.1.1 設(shè)計(jì)轉(zhuǎn)換器:從Param和轉(zhuǎn)換的角度思考 310
14.1.2 創(chuàng)建轉(zhuǎn)換器的Param 312
14.1.3 getter和setter:成為PySpark中優(yōu)秀的一員 314
14.1.4 創(chuàng)建自定義轉(zhuǎn)換器的初始化函數(shù) 316
14.1.5 創(chuàng)建轉(zhuǎn)換函數(shù) 317
14.1.6 使用轉(zhuǎn)換器 319
14.2 創(chuàng)建自己的估計(jì)器 321
14.2.1 設(shè)計(jì)估計(jì)器:從模型到Param 321
14.2.2 實(shí)現(xiàn)伴生模型:創(chuàng)建自己的Mixin 324
14.2.3 創(chuàng)建ExtremeValueCapper估計(jì)器 326
14.2.4 使用自定義估計(jì)器 328
14.3 在機(jī)器學(xué)習(xí)管道中使用轉(zhuǎn)換器和估計(jì)器 328
14.3.1 處理多個(gè)輸入 329
14.3.2 將自定義組件應(yīng)用于機(jī)器學(xué)習(xí)管道 331
14.4 本章小結(jié) 334
14.5 結(jié)論:有數(shù)據(jù),我就開(kāi)心 334
附錄A 習(xí)題答案 337
附錄B 安裝PySpark 369
附錄C 一些有用的Python內(nèi)容 389
Python和PySpark數(shù)據(jù)分析(數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)) 作者簡(jiǎn)介
作為一家數(shù)據(jù)驅(qū)動(dòng)軟件公司的ML總監(jiān),Jonathan Rioux每天都在使用PySpark。他向數(shù)據(jù)科學(xué)家、數(shù)據(jù)工程師和精通數(shù)據(jù)的業(yè)務(wù)分析師講授PySpark的用法。
- >
苦雨齋序跋文-周作人自編集
- >
人文閱讀與收藏·良友文學(xué)叢書(shū):一天的工作
- >
羅曼·羅蘭讀書(shū)隨筆-精裝
- >
中國(guó)歷史的瞬間
- >
月亮與六便士
- >
自卑與超越
- >
唐代進(jìn)士錄
- >
有舍有得是人生