我很高兴宣布 Dask 1.1.0 版本发布。这是一个包含错误修复和新功能的主要版本。上一个版本 1.0.0 于 2018 年 11 月 29 日发布。这篇博文概述了自上次发布以来值得注意的更改。
您可以使用 conda 安装 Dask
conda install dask
或从 PyPI 使用 pip 安装
pip install dask[complete] --upgrade
完整的更新日志可在此处获取
值得注意的更改
在过去的几个月里,完成了大量工作,我们鼓励大家查阅更新日志,了解开发者正在进行的各种增量更改。
本次发布中还有一些值得注意的更改,我们将在此处重点介绍
- 支持最近发布的 Numpy 1.16 和 Pandas 0.24 版本
- 支持 Pandas Extension Arrays(参见 Tom Augspurger 关于此主题的博文)
- Dask dataframe 中的高级图和简单情况下的操作符融合
- 增强了对其他看起来足够像 Numpy 和 Pandas 的库的支持,使其可以在 Dask Array/Dataframe 中工作
支持 Numpy 1.16 和 Pandas 0.24
在过去的几个月里,Numpy 和 Pandas 都发展迅速。我们对这两个库中出现的扩展性变化感到兴奋。Dask array/dataframe 子模块已经更新,以更好地适应这些最近的更改。
Pandas Extension Arrays
特别是 Dask Dataframe 支持 Pandas Extension arrays,这意味着可以更轻松地将 CyberPandas 或 Fletcher 等第三方 Pandas 包与 Dask Dataframe 并行使用。
欲了解更多信息,请参见 Tom Augspurger 的博文
Dask Dataframe 中的高级图
一段时间以来,Dask array 对“atop”操作(逐元素、广播、转置、点积、缩减)具有一些高级图,这使得在此类计算中可以减少开销和进行任务融合。
y = da.exp(x + 1).T # 这些操作被融合到一个任务中
我们已将 atop 重命名为 blockwise 以使其更通用,并已开始将其应用于 Dask Dataframe,这有助于在执行许多简单操作的计算时大幅减少开销。
这仍然需要改进,以增加它适用的情况类别,但我们已经在以前未见的负载上看到了不错的加速效果。
da.atop 函数已被弃用,取而代之的是 da.blockwise。现在还有一个 dd.blockwise,它共享通用的代码路径。
非 Pandas dataframe 和非 Numpy array 类型
我们正在努力使 Dask 对它可以操作的内存数组和 dataframe 对象的类型更加不拘一格。Dask Array 不再是 Numpy 数组的网格,Dask Dataframe 也不再是 Pandas dataframes 的序列,我们将这一限制放宽为 类 Numpy 数组的网格和 类 Pandas dataframes 的序列。
这是一项持续的努力,目标是 scipy.sparse, pydata/sparse, cupy, cudf 和其他系统等备用后端。
最近有一些关于 数组 和 dataframes 的博文,展示了使用 GPU 实现此功能的概念验证。
致谢
自上次发布博文以来,已经发布了几个版本。以下人员自 9 月 5 日发布 0.19.0 版本以来为 dask/dask 仓库做出了贡献
- Anderson Banihirwe
- Antonino Ingargiola
- Armin Berres
- Bart Broere
- Carlos Valiente
- Daniel Li
- Daniel Saxton
- David Hoese
- Diane Trout
- Damien Garaud
- Elliott Sales de Andrade
- Eric Wolak
- Gábor Lipták
- Guido Imperiale
- Guillaume Eynard-Bontemps
- Itamar Turner-Trauring
- James Bourbeau
- Jan Koch
- Javad
- Jendrik Jördening
- Jim Crist
- Jonathan Fraine
- John Kirkham
- Johnnie Gray
- Julia Signell
- Justin Dennison
- M. Farrajota
- Marco Neumann
- Mark Harfouche
- Markus Gonser
- Martin Durant
- Matthew Rocklin
- Matthias Bussonnier
- Mina Farid
- Paul Vecchio
- Prabakaran Kumaresshan
- Rahul Vaidya
- Stephan Hoyer
- Stuart Berg
- TakaakiFuruse
- Takahiro Kojima
- Tom Augspurger
- Yu Feng
- Zhenqing Li
- @milesial
- @samc0de
- @slnguyen
以下人员自 9 月 5 日发布 0.19.0 版本以来为 dask/distributed 仓库做出了贡献
- Adam Klein
- Brett Naul
- Daniel Farrell
- Diane Trout
- Dirk Petersen
- Eric Ma
- Jim Crist
- John Kirkham
- Gaurav Sheni
- Guillaume Eynard-Bontemps
- Loïc Estève
- Marius van Niekerk
- Matthew Rocklin
- Michael Wheeler
- MikeG
- NotSqrt
- Peter Killick
- Roy Wedge
- Russ Bubley
- Stephan Hoyer
- @tjb900
- Tom Rochette
- @fjetter