注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計利用Dask擴展Python性能

利用Dask擴展Python性能

利用Dask擴展Python性能

定 價:¥89.00

作 者: [美]霍爾頓·卡勞(Holden Karau), [加]米卡·金明斯(Mika Kimmins) 著,馬宏華 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302666295 出版時間: 2024-08-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  《利用 Dask 擴展 Python 性能》詳細闡述了與 Dask 擴展 Python 性能相關(guān)的基本知識,主要包括了解 Dask、Dask 基礎(chǔ)操作、Dask的工作原理、Dask DataFrame、Dask 的集合、高級任務(wù)調(diào)度、添加可變狀態(tài)和 Dask Actor、評估 Dask 的組件和庫、遷移現(xiàn)有的分析工程、使用 GPU 和其他特殊資源的 Dask、使用 Dask 進行機器學(xué)習(xí)、生產(chǎn)化Dask 等內(nèi)容。此外,本書還提供了相應(yīng)的示例、代碼,以幫助讀者進一步理解相關(guān)方案的實現(xiàn)過程。 本書適合作為高等院校計算機及相關(guān)專業(yè)的教材和教學(xué)參考書,也可作為相關(guān)開發(fā)人員的自學(xué)用書和參考手冊。

作者簡介

  Holden Karau 是 Apache Spark 提交者,Apache 軟件基金會成員,也是活躍的開源貢獻者。作為一名軟件工程師,她曾在 Apple、Google、IBM、Alpine、Databricks、Foursquare和 Amazon 從事各種分布式計算、搜索和分類問題的研究。她畢業(yè)于加拿大滑鐵盧大學(xué)(University of Waterloo),獲得過計算機科學(xué)數(shù)學(xué)學(xué)士學(xué)位。在軟件之外,她還喜歡焊接、騎車和跳舞等。 Mika Kimmins 是一名數(shù)據(jù)工程師、分布式系統(tǒng)研究員和機器學(xué)習(xí)顧問。她曾是 Apple公司的 Siri 數(shù)據(jù)工程師,也曾是一名學(xué)術(shù)研究人員和非營利工程人員,她從事過自然語言處理(NLP)、語言建模、強化學(xué)習(xí)和機器學(xué)習(xí)管道等多種工作。她擁有哈佛大學(xué)工程科學(xué)碩士和 MBA 學(xué)位,以及加拿大多倫多大學(xué)(University of Toronto)計算機科學(xué)和數(shù)學(xué)學(xué)士學(xué)位。Mika 愛好花樣滑冰、空中舞蹈和縫紉。

圖書目錄

第1章  了解Dask 1
1.1  需要使用Dask的理由 1
1.2  Dask在生態(tài)系統(tǒng)中的定位 2
1.2.1  大數(shù)據(jù) 3
1.2.2  數(shù)據(jù)科學(xué) 3
1.2.3  并行分布式Python 4
1.3  Dask社區(qū)庫 5
1.3.1  加速Python 5
1.3.2  SQL引擎 5
1.3.3  工作流程調(diào)度 6
1.4  Dask的局限性 7
1.5  小結(jié) 8
第2章  Dask基礎(chǔ)操作 9
2.1  本地安裝Dask 9
2.2  Hello World 10
2.2.1  Hello World任務(wù) 11
2.2.2  分布式集合 13
2.2.3  Dask DataFrame 15
2.3  小結(jié) 16
第3章  Dask的工作原理:基礎(chǔ)知識 17
3.1  執(zhí)行后端 17
3.1.1  本地后端 17
3.1.2  分布式后端(Dask客戶端和調(diào)度程序) 18
3.2  Dask的診斷用戶界面 20
3.3  序列化和Pickling 21
3.4  分區(qū)/分塊集合 23
3.4.1  Dask數(shù)組 24
3.4.2  Dask bag 24
3.4.3  Dask DataFrame 25
3.4.4  打亂 25
3.4.5  加載期間分區(qū) 26
3.5  任務(wù)、圖和惰性評估 26
3.5.1  惰性評估 26
3.5.2  任務(wù)依賴關(guān)系 27
3.5.3  可視化 27
3.5.4  中間任務(wù)結(jié)果 29
3.5.5  任務(wù)規(guī)模調(diào)整 29
3.5.6  當(dāng)任務(wù)圖變得太大時 29
3.5.7  組合計算 30
3.5.8  持久化、緩存和記憶化 30
3.6  容錯能力 31
3.7  小結(jié) 32
第4章  Dask DataFrame 33
4.1  Dask DataFrame的構(gòu)建方式 33
4.2  加載和寫入 34
4.2.1  格式 34
4.2.2  文件系統(tǒng) 39
4.3  索引 40
4.4  打亂數(shù)據(jù) 40
4.4.1  滾動窗口和map_overlap 41
4.4.2  聚合 41
4.4.3  完全打亂 45
4.4.4  分區(qū) 45
4.5  尷尬的并行操作 47
4.6  使用多個DataFrame 48
4.6.1  組合DataFrame的常用函數(shù)解析 48
4.6.2  多DataFrame內(nèi)部原理 50
4.6.3  缺失的功能 51
4.7  無法使用的功能 51
4.8  較慢的功能 51
4.9  處理遞歸算法 52
4.10  重新計算的數(shù)據(jù) 52
4.11  其他函數(shù)的差異 52
4.12  數(shù)據(jù)科學(xué)與Dask DataFrame:綜合演練 53
4.12.1  決定使用Dask 53
4.12.2  使用Dask進行探索性數(shù)據(jù)分析 54
4.13  小結(jié) 56
第5章  Dask的集合 57
5.1  Dask數(shù)組 57
5.1.1  常見用例 57
5.1.2  不適用Dask數(shù)組的情形 57
5.1.3  加載/保存 58
5.1.4  缺失的功能 58
5.1.5  特殊Dask函數(shù) 58
5.2  Dask bag 59
5.2.1  常見用例 59
5.2.2  加載和保存Dask bag 60
5.2.3  使用Dask bag加載雜亂數(shù)據(jù) 60
5.2.4  局限性 64
5.3  小結(jié) 64
第6章  高級任務(wù)調(diào)度:Futures 65
6.1  懶惰評估和急切評估 66
6.2  Futures的用例 66
6.3  啟動Futures 67
6.4  Futures生命周期 68
6.5  即發(fā)即棄 69
6.6  檢索結(jié)果 69
6.7  嵌套Futures 72
6.8  用于調(diào)度的分布式數(shù)據(jù)結(jié)構(gòu) 72
6.9  小結(jié) 73
 
第7章  添加可變狀態(tài)和Dask Actor 75
7.1  理解Actor模型 75
7.2  Dask Actor 76
7.2.1  創(chuàng)建第一個Actor 77
7.2.2  擴展Dask Actor 79
7.2.3  局限性 81
7.3  使用Dask Actor的時機 81
7.4  小結(jié) 82
第8章  評估Dask的組件和庫 83
8.1  項目評估的定性考慮因素 85
8.1.1  項目優(yōu)先級 85
8.1.2  社區(qū) 86
8.1.3  Dask特定最佳實踐 87
8.1.4  最新的依賴項 88
8.1.5  文檔 88
8.1.6  貢獻的開放程度 89
8.1.7  可擴展性 89
8.2  開源項目評估的定量指標(biāo) 90
8.2.1  版本歷史 90
8.2.2  提交頻率 91
8.2.3  庫的使用情況 91
8.2.4  代碼和最佳實踐 93
8.3  小結(jié) 94
第9章  遷移現(xiàn)有的分析工程 95
9.1  遷移到Dask中的原因 95
9.2  Dask的局限性 95
9.3  遷移路線圖 96
9.3.1  集群類型 96
9.3.2  開發(fā):注意事項 99
9.3.3  部署監(jiān)控 101
9.4  小結(jié) 103
 
第10章  使用GPU和其他特殊資源的Dask 105
10.1  透明加速器與非透明加速器 106
10.2  了解GPU或TPU是否有幫助 106
10.3  使Dask具有資源感知能力 107
10.4  安裝庫 108
10.5  在Dask任務(wù)中使用自定義資源 109
10.5.1  裝飾器 110
10.5.2  GPU 111
10.6  基于Dask的GPU加速 112
10.6.1  cuDF 112
10.6.2  BlazingSQL 113
10.6.3  cuStreamz 113
10.7  釋放加速器資源 113
10.8  設(shè)計模式:CPU回退 113
10.9  小結(jié) 114
第11章  使用Dask進行機器學(xué)習(xí) 115
11.1  并行化機器學(xué)習(xí) 115
11.2  使用Dask-ML的時機 116
11.3  Dask-ML和XGBoost入門 117
11.3.1  特征工程 117
11.3.2  模型選擇和訓(xùn)練 121
11.3.3  沒有Dask-ML等效項時的解決方案 122
11.3.4  結(jié)合使用Dask joblib 123
11.3.5  XGBoost與Dask 124
11.4  使用Dask-SQL的機器學(xué)習(xí)模型 126
11.5  推理和部署 129
11.5.1  手動分發(fā)數(shù)據(jù)和模型 129
11.5.2  使用Dask進行大規(guī)模推理 130
11.6  小結(jié) 132
第12章  生產(chǎn)化Dask:Notebook、部署、調(diào)整和監(jiān)控 133
12.1  部署選項中需要考慮的因素 134
12.2  在Kubernetes上部署Dask 136
12.3  在Ray上部署Dask 138
12.4  在YARN上部署Dask 138
12.5  在高性能計算集群中部署Dask 141
12.5.1  在遠程集群中設(shè)置Dask 141
12.5.2  將本地計算機連接到HPC集群 147
12.6  Dask JupyterLab擴展 148
12.6.1  安裝JupyterLab擴展 148
12.6.2  啟動集群 149
12.6.3  用戶界面 149
12.6.4  觀察進度 150
12.7  了解Dask性能 150
12.7.1  分布式計算中的指標(biāo) 151
12.7.2  Dask儀表板 151
12.7.3  保存和共享Dask指標(biāo)/性能日志 157
12.7.4  高級診斷 159
12.8  擴展和調(diào)試最佳實踐 160
12.8.1  手動擴展 160
12.8.2  自適應(yīng)/自動擴展 160
12.8.3  保留和刪除高計算成本的數(shù)據(jù) 160
12.8.4  Dask Nanny 161
12.8.5  worker內(nèi)存管理 161
12.8.6  集群規(guī)模調(diào)整 162
12.8.7  重新審視分塊 162
12.8.8  避免重新分塊 163
12.9  作業(yè)調(diào)度 163
12.10  部署監(jiān)控 164
12.11  小結(jié) 165
附錄A  Dask用戶的關(guān)鍵系統(tǒng)概念 167
A.1  測試 167
A.1.1  手動測試 167
A.1.2  單元測試 167
A.1.3  集成測試 168
A.1.4  測試驅(qū)動開發(fā) 168
A.1.5  屬性測試 168
A.1.6  使用Notebook 168
A.1.7  在Notebook之外進行測試 169
A.1.8  在Notebook中測試:內(nèi)聯(lián)斷言 169
A.2  數(shù)據(jù)和輸出驗證 169
A.3  點對點分布與中心化分布 170
A.4  并行方法 170
A.4.1  任務(wù)并行 171
A.4.2  數(shù)據(jù)并行 171
A.4.3  打亂和寬窄轉(zhuǎn)換 171
A.4.4  局限性 171
A.4.5  負載均衡 171
A.5  網(wǎng)絡(luò)容錯和CAP定理 172
A.6  遞歸 172
A.7  版本控制和分支:代碼和數(shù)據(jù) 173
A.8  隔離 174
A.9  機器容錯 174
A.10  可擴展性(向上和向下) 175
A.11  緩存、內(nèi)存、磁盤和網(wǎng)絡(luò) 176
A.12  哈希 176
A.13  數(shù)據(jù)局部性 176
A.14  正好一次與至少一次 177
A.15  小結(jié) 177
附錄B  可擴展的DataFrame 179
B.1  工具 179
B.1.1  僅適用于一臺機器 180
B.1.2  分布式計算 181
B.2  小結(jié) 184
附錄C  調(diào)試Dask 185
C.1  使用調(diào)試器 185
C.2  使用Dask的一般調(diào)試技巧 185
C.3  原生錯誤 186
C.4  關(guān)于官方建議處理壞記錄的一些說明 187
C.5  Dask診斷 187
C.6  小結(jié) 188
附錄D  使用Streamz和Dask進行流式處理 189
D.1  Dask上的Streamz入門 190
D.2  流數(shù)據(jù)源和接收器 190
D.3  字?jǐn)?shù)統(tǒng)計 191
D.4  Dask流式處理的GPU管道 192
D.5  限制、挑戰(zhàn)和解決方法 193
D.6  小結(jié) 193
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號