注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計利用Dask擴展Python性能

利用Dask擴展Python性能

利用Dask擴展Python性能

定 價:¥89.00

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

購買這本書可以去


ISBN: 9787302666295 出版時間: 2024-08-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

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

作者簡介

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

圖書目錄

第1章  了解Dask 1
1.1  需要使用Dask的理由 1
1.2  Dask在生態(tài)系統(tǒng)中的定位 2
1.2.1  大數據 3
1.2.2  數據科學 3
1.2.3  并行分布式Python 4
1.3  Dask社區(qū)庫 5
1.3.1  加速Python 5
1.3.2  SQL引擎 5
1.3.3  工作流程調度 6
1.4  Dask的局限性 7
1.5  小結 8
第2章  Dask基礎操作 9
2.1  本地安裝Dask 9
2.2  Hello World 10
2.2.1  Hello World任務 11
2.2.2  分布式集合 13
2.2.3  Dask DataFrame 15
2.3  小結 16
第3章  Dask的工作原理:基礎知識 17
3.1  執(zhí)行后端 17
3.1.1  本地后端 17
3.1.2  分布式后端(Dask客戶端和調度程序) 18
3.2  Dask的診斷用戶界面 20
3.3  序列化和Pickling 21
3.4  分區(qū)/分塊集合 23
3.4.1  Dask數組 24
3.4.2  Dask bag 24
3.4.3  Dask DataFrame 25
3.4.4  打亂 25
3.4.5  加載期間分區(qū) 26
3.5  任務、圖和惰性評估 26
3.5.1  惰性評估 26
3.5.2  任務依賴關系 27
3.5.3  可視化 27
3.5.4  中間任務結果 29
3.5.5  任務規(guī)模調整 29
3.5.6  當任務圖變得太大時 29
3.5.7  組合計算 30
3.5.8  持久化、緩存和記憶化 30
3.6  容錯能力 31
3.7  小結 32
第4章  Dask DataFrame 33
4.1  Dask DataFrame的構建方式 33
4.2  加載和寫入 34
4.2.1  格式 34
4.2.2  文件系統(tǒng) 39
4.3  索引 40
4.4  打亂數據 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的常用函數解析 48
4.6.2  多DataFrame內部原理 50
4.6.3  缺失的功能 51
4.7  無法使用的功能 51
4.8  較慢的功能 51
4.9  處理遞歸算法 52
4.10  重新計算的數據 52
4.11  其他函數的差異 52
4.12  數據科學與Dask DataFrame:綜合演練 53
4.12.1  決定使用Dask 53
4.12.2  使用Dask進行探索性數據分析 54
4.13  小結 56
第5章  Dask的集合 57
5.1  Dask數組 57
5.1.1  常見用例 57
5.1.2  不適用Dask數組的情形 57
5.1.3  加載/保存 58
5.1.4  缺失的功能 58
5.1.5  特殊Dask函數 58
5.2  Dask bag 59
5.2.1  常見用例 59
5.2.2  加載和保存Dask bag 60
5.2.3  使用Dask bag加載雜亂數據 60
5.2.4  局限性 64
5.3  小結 64
第6章  高級任務調度:Futures 65
6.1  懶惰評估和急切評估 66
6.2  Futures的用例 66
6.3  啟動Futures 67
6.4  Futures生命周期 68
6.5  即發(fā)即棄 69
6.6  檢索結果 69
6.7  嵌套Futures 72
6.8  用于調度的分布式數據結構 72
6.9  小結 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  小結 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  開源項目評估的定量指標 90
8.2.1  版本歷史 90
8.2.2  提交頻率 91
8.2.3  庫的使用情況 91
8.2.4  代碼和最佳實踐 93
8.3  小結 94
第9章  遷移現有的分析工程 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  小結 103
 
第10章  使用GPU和其他特殊資源的Dask 105
10.1  透明加速器與非透明加速器 106
10.2  了解GPU或TPU是否有幫助 106
10.3  使Dask具有資源感知能力 107
10.4  安裝庫 108
10.5  在Dask任務中使用自定義資源 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  設計模式:CPU回退 113
10.9  小結 114
第11章  使用Dask進行機器學習 115
11.1  并行化機器學習 115
11.2  使用Dask-ML的時機 116
11.3  Dask-ML和XGBoost入門 117
11.3.1  特征工程 117
11.3.2  模型選擇和訓練 121
11.3.3  沒有Dask-ML等效項時的解決方案 122
11.3.4  結合使用Dask joblib 123
11.3.5  XGBoost與Dask 124
11.4  使用Dask-SQL的機器學習模型 126
11.5  推理和部署 129
11.5.1  手動分發(fā)數據和模型 129
11.5.2  使用Dask進行大規(guī)模推理 130
11.6  小結 132
第12章  生產化Dask:Notebook、部署、調整和監(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  在遠程集群中設置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  分布式計算中的指標 151
12.7.2  Dask儀表板 151
12.7.3  保存和共享Dask指標/性能日志 157
12.7.4  高級診斷 159
12.8  擴展和調試最佳實踐 160
12.8.1  手動擴展 160
12.8.2  自適應/自動擴展 160
12.8.3  保留和刪除高計算成本的數據 160
12.8.4  Dask Nanny 161
12.8.5  worker內存管理 161
12.8.6  集群規(guī)模調整 162
12.8.7  重新審視分塊 162
12.8.8  避免重新分塊 163
12.9  作業(yè)調度 163
12.10  部署監(jiān)控 164
12.11  小結 165
附錄A  Dask用戶的關鍵系統(tǒng)概念 167
A.1  測試 167
A.1.1  手動測試 167
A.1.2  單元測試 167
A.1.3  集成測試 168
A.1.4  測試驅動開發(fā) 168
A.1.5  屬性測試 168
A.1.6  使用Notebook 168
A.1.7  在Notebook之外進行測試 169
A.1.8  在Notebook中測試:內聯(lián)斷言 169
A.2  數據和輸出驗證 169
A.3  點對點分布與中心化分布 170
A.4  并行方法 170
A.4.1  任務并行 171
A.4.2  數據并行 171
A.4.3  打亂和寬窄轉換 171
A.4.4  局限性 171
A.4.5  負載均衡 171
A.5  網絡容錯和CAP定理 172
A.6  遞歸 172
A.7  版本控制和分支:代碼和數據 173
A.8  隔離 174
A.9  機器容錯 174
A.10  可擴展性(向上和向下) 175
A.11  緩存、內存、磁盤和網絡 176
A.12  哈希 176
A.13  數據局部性 176
A.14  正好一次與至少一次 177
A.15  小結 177
附錄B  可擴展的DataFrame 179
B.1  工具 179
B.1.1  僅適用于一臺機器 180
B.1.2  分布式計算 181
B.2  小結 184
附錄C  調試Dask 185
C.1  使用調試器 185
C.2  使用Dask的一般調試技巧 185
C.3  原生錯誤 186
C.4  關于官方建議處理壞記錄的一些說明 187
C.5  Dask診斷 187
C.6  小結 188
附錄D  使用Streamz和Dask進行流式處理 189
D.1  Dask上的Streamz入門 190
D.2  流數據源和接收器 190
D.3  字數統(tǒng)計 191
D.4  Dask流式處理的GPU管道 192
D.5  限制、挑戰(zhàn)和解決方法 193
D.6  小結 193
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號