登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』利用Dask扩展Python性能

書城自編碼: 4027708
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]霍尔顿·卡劳[Holden Karau][加]米卡·金
國際書號(ISBN): 9787302666295
出版社: 清华大学出版社
出版日期: 2024-08-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 454

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
我们身边的小鸟朋友:手绘观鸟笔记
《 我们身边的小鸟朋友:手绘观鸟笔记 》

售價:NT$ 356.0
拯救免疫失衡
《 拯救免疫失衡 》

售價:NT$ 254.0
收尸人
《 收尸人 》

售價:NT$ 332.0
大模型应用开发:RAG入门与实战
《 大模型应用开发:RAG入门与实战 》

售價:NT$ 407.0
不挨饿快速瘦的减脂餐
《 不挨饿快速瘦的减脂餐 》

售價:NT$ 305.0
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
《 形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛) 》

售價:NT$ 504.0
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
《 卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张) 》

售價:NT$ 602.0
化妆品学原理
《 化妆品学原理 》

售價:NT$ 254.0

編輯推薦:
Dask 是一个使用 Python 进行并行计算的框架,使得并行计算可以从一台机器上的多
个核心扩展到拥有数千台机器的数据中心。它具有低级任务 API 和更高级别的以数据为
中心的 API。低级任务 API 支持 Dask 与各种 Python 库的集成。拥有公共 API 使得工具
生态系统能够围绕 Dask 得以发展,以适应各种用例。
內容簡介:
《利用 Dask 扩展 Python 性能》详细阐述了与 Dask 扩展 Python 性能相关的基本知识,主要包括了解 Dask、Dask 基础操作、Dask
的工作原理、Dask DataFrame、Dask 的集合、高级任务调度、添加可变状态和 Dask Actor、评估 Dask 的
组件和库、迁移现有的分析工程、使用 GPU 和其他特殊资源的 Dask、使用 Dask 进行机器学习、生产化
Dask 等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和
参考手册。
關於作者:
Holden Karau 是 Apache Spark 提交者,Apache 软件基金会成员,也是活跃的开源
贡献者。作为一名软件工程师,她曾在 Apple、Google、IBM、Alpine、Databricks、Foursquare
和 Amazon 从事各种分布式计算、搜索和分类问题的研究。她毕业于加拿大滑铁卢大学
(University of Waterloo),获得过计算机科学数学学士学位。在软件之外,她还喜欢焊
接、骑车和跳舞等。
Mika Kimmins 是一名数据工程师、分布式系统研究员和机器学习顾问。她曾是 Apple
公司的 Siri 数据工程师,也曾是一名学术研究人员和非营利工程人员,她从事过自然语
言处理(NLP)、语言建模、强化学习和机器学习管道等多种工作。她拥有哈佛大学工
程科学硕士和 MBA 学位,以及加拿大多伦多大学(University of Toronto)计算机科学和
数学学士学位。Mika 爱好花样滑冰、空中舞蹈和缝纫。
目錄
第1章 了解Dask 1
1.1 需要使用Dask的理由 1
1.2 Dask在生态系统中的定位 2
1.2.1 大数据 3
1.2.2 数据科学 3
1.2.3 并行分布式Python 4
1.3 Dask社区库 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 执行后端 17
3.1.1 本地后端 17
3.1.2 分布式后端(Dask客户端和调度程序) 18
3.2 Dask的诊断用户界面 20
3.3 序列化和Pickling 21
3.4 分区/分块集合 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 加载期间分区 26
3.5 任务、图和惰性评估 26
3.5.1 惰性评估 26
3.5.2 任务依赖关系 27
3.5.3 可视化 27
3.5.4 中间任务结果 29
3.5.5 任务规模调整 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 文件系统 39
4.3 索引 40
4.4 打乱数据 40
4.4.1 滚动窗口和map_overlap 41
4.4.2 聚合 41
4.4.3 完全打乱 45
4.4.4 分区 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 即发即弃 69
6.6 检索结果 69
6.7 嵌套Futures 72
6.8 用于调度的分布式数据结构 72
6.9 小结 73

第7章 添加可变状态和Dask Actor 75
7.1 理解Actor模型 75
7.2 Dask Actor 76
7.2.1 创建第一个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 项目优先级 85
8.1.2 社区 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 开发:注意事项 99
9.3.3 部署监控 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 手动分发数据和模型 129
11.5.2 使用Dask进行大规模推理 130
11.6 小结 132
第12章 生产化Dask:Notebook、部署、调整和监控 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 集群规模调整 162
12.8.7 重新审视分块 162
12.8.8 避免重新分块 163
12.9 作业调度 163
12.10 部署监控 164
12.11 小结 165
附录A Dask用户的关键系统概念 167
A.1 测试 167
A.1.1 手动测试 167
A.1.2 单元测试 167
A.1.3 集成测试 168
A.1.4 测试驱动开发 168
A.1.5 属性测试 168
A.1.6 使用Notebook 168
A.1.7 在Notebook之外进行测试 169
A.1.8 在Notebook中测试:内联断言 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 字数统计 191
D.4 Dask流式处理的GPU管道 192
D.5 限制、挑战和解决方法 193
D.6 小结 193
內容試閱
我们为熟悉Python和pandas的数据科学家和数据工程师编写了本书,因为他们都有处理比当前工具允许的更大规模的数据的需要。有些PySpark用户会发现本书中的部分资料与他们现有的PySpark知识重叠,但我们相信本书仍然会对他们有所帮助,这不仅仅是为了摆脱Java虚拟机(Java virtual machine,JVM)。本书主要关注数据科学和相关任务,因为我们认为这是Dask最擅长的领域。如果你遇到Dask似乎不太适合解决的更一般性的问题,建议考虑使用Ray,这是一个用于扩展和分发Python和机器学习应用的框架。关于责任的说明俗话说,“权力越大,责任越大”。Dask和类似工具使你能够处理更多数据并构建更复杂的模型。重要的是不要仅仅为了数据好看而收集数据,而是要停下来问问自己,在模型中包含新字段是否可能会对现实世界产生一些意想不到的影响。例如,你在网络上随便搜索一下,就能看到很多用心良善的工程师和数据科学家无意中构建了具有毁灭性影响的模型或工具的故事,如增加了对少数族群的审计,或者不知不觉地在词嵌入(一种将词的含义表示为向量的方法)中产生了基于性别的歧视等。有关详细信息,你可以访问以下网址: https://oreil.ly/tqjth 因此,请在使用你新发现的能力时考虑到这种潜在的后果,因为没有人希望自己作为反面教材出现在教科书中。本书中使用的约定本书使用以下文本约定。(1)有关代码块的设置如下: with performance_report(filename=”computation_report.html”): gnarl = da.random.beta( 1, 2, size=( 10000, 10000, 10), chunks=( 1000, 1000, 5)) x = da.random.random((10000, 10000, 10), chunks=(1000, 1000, 5)) y = (da.arccos(x) * gnarl).sum(axis=(1, 2)) y.compute() (2)术语或重要单词在括号内保留其英文原文,方便读者对照查看。示例如下: 大多数部署选项映射到不同类型的集群管理器(cluster manager,CM)。CM管理计算机组并在用户和作业之间提供一定程度的隔离。 (3)界面词汇将保留其英文原文,在后面使用括号提供其中文译文。示例如下: Task Graph(任务图)也是对任务依赖性的准确描述。颜色编码还突出显示了计算生命周期中每个工作和数据当前所处的位置。通过查看此图,你可以了解哪些任务是瓶颈,因此这可能是开始优化代码的好地方。 (4)本书还使用了以下3个图标: 表示提示或小技巧。 表示一般性注释。 表示警告或重要的注意事项。在线图片读者可以访问以下网址找到一些图的更大尺寸的彩色版本: https://oreil.ly/SPWD-figures 每幅图的链接也出现在它们的图题中。许可在本书以印刷品形式出版之后,即表示已提供知识共享署名-非商业性使用-禁止演绎4.0国际协议(Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License,CC BY-NC-ND 4.0)下的许可,但这并不包括O’Reilly独特的设计元素(即封面图片、设计格式、“外观和感觉”)或O’Reilly的商标、服务标志和商品名。感谢O’Reilly允许我们在知识共享许可下提供本书。使用本书示例代码本书提供了配套GitHub存储库,其网址如下: https://oreil.ly/scaling-python-dask-code 在该存储库中包含本书的大部分代码示例。它们主要位于dask目录下,更多深奥的部分(例如跨平台CUDA容器)则位于单独的顶级目录中。如果有技术问题或在使用代码示例时遇到问题,请发送电子邮件至 support@oreilly.com。本书旨在帮助你完成工作。一般来说,如果本书提供了示例代码,你就可以在你的程序和文档中使用它。除非你要复制大部分代码,否则你无需联系我们以获得许可。例如,如果你编写的程序使用了本书中的一些代码块,这不需要许可,但是销售或分发OReilly书籍中的示例是需要获得许可的;引用本书示例代码来回答问题不需要许可,但是将本书中的大量示例代码合并到产品文档中是需要许可的。我们感谢但通常不要求署名。署名通常包括标题、作者、出版商和国际标准书号(ISBN)。例如:“《利用Dask扩展Python性能》由Holden Karau和Mika Kimmins著(O’Reilly)。版权所有2023 Holden Karau和Mika Kimmins,ISBN 978-1-098-11987-4”。如果你觉得对代码示例的使用超出了合理范围或上述所给的权限,请随时通过 permissions@oreilly.com 与我们联系。O’Reilly在线学习平台(O’Reilly Online Learning)近40年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,帮助众多公司取得成功。我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。更多相关信息,请访问http://oreilly.com。 如何联系我们请将关于本书的意见和问题寄给出版商:美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2号成铭大厦C座807室(100035)奥莱利技术咨询(北京)有限公司致谢本书献给那些以任何方式为一个更公平且无偏见的世界而战的人,无论个人的力量多么渺小,但只要为此而努力,就值得这份感谢。对于所有无缘相见者,我们记挂在心;对于那些未曾谋面者,我们很高兴见到你。本书的写作基于作者从Dask和PyData等诸多社区吸取的知识和经验,因此我们首先要感谢这些社区。此外还要感谢所有早期读者和审稿人的贡献和指导。这些审稿人包括Ruben Berenguel、Adam Breindel、Tom Drabas、Joseph Gnanaprakasam、John Iannone、Kevin Kho和Jess Males等。特别感谢Ann Spencer审核通过了本书的早期项目提议。本书如果有任何错误都是我们的问题,因为我们有时甚至会拒绝审稿人的建议。 Holden要特别感谢其爱犬Timbit,它是忠实的房屋守卫。Mika要感谢Holden的指导和帮助,并向哈佛大学数据科学系的同事们致敬,感谢他们提供的无限量的免费咖啡。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.