本 Notebook 介绍了今年夏天早些时候进行的 2019 年 Dask 用户调查结果。感谢所有抽出时间填写调查问卷的人!这些结果有助于我们更好地了解 Dask 社区,并将指导未来的开发工作。
原始数据以及分析的初步结果可以在这个 binder 中找到
如果您在数据中发现任何情况,请告诉我们。
我们收到了 259 份调查回复。总的来说,我们发现调查受访者非常关心改进文档、易用性(包括易于部署)以及扩展性。虽然 Dask 汇集了许多不同的社区(大型数组与大型数据帧、传统 HPC 用户与云原生资源管理器),但对于 Dask 最重要的内容,大家普遍达成了共识。
现在我们将逐项介绍一些问题,并重点突出特别有趣的结果。
对于学习资源,几乎所有受访者都使用了文档。
大多数受访者至少偶尔使用 Dask。幸运的是,我们有很多只是了解 Dask 的受访者,他们仍然花时间填写了调查问卷。
我很好奇随着用户经验的增长,学习资源的使用情况如何变化。我们可能会认为那些只是了解 Dask 的人会从 examples.dask.org 开始,在那里他们无需安装即可试用 Dask。
总的来说,文档在所有用户群体中仍然是最主要的资源。
Dask 教程 和 dask 示例 的使用在不同群体中相对一致。常规用户和新用户的主要区别在于,常规用户更有可能参与到 GitHub 上。
从 StackOverflow 问题和 GitHub Issues 中,我们对库的哪些部分被使用有模糊的了解。调查显示(至少对于我们的受访者而言),DataFrame 和 Delayed 是最常用的 API。
大约 65.49% 的受访者在集群上使用 Dask。
但大多数受访者 也 在他们的笔记本电脑上使用 Dask。这突显了 Dask 向下扩展的重要性,无论是使用 LocalCluster 进行原型设计,还是使用 LocalCluster 或单个机器调度器进行核外分析。
大多数受访者至少在部分时间以交互方式使用 Dask。
大多数受访者认为更多的文档和示例是对项目最有价值的改进。这在新用户中尤为突出。但即使在每天使用 Dask 的用户中,认为“更多示例”比“新功能”或“性能改进”更有价值的人也更多。
按行归一化。颜色越深表示该使用频率的用户更倾向于该优先级。 目前什么对您帮助最大? Bug 修复 更多文档 更多我领域的示例 新功能 性能改进 您使用 Dask 的频率是? 每天 只是了解中 偶尔 9 11 25 22 23 1 3 18 9 5 14 27 52 18 15
也许某些 dask API 的用户与整个群体感受不同?我们根据 API 使用情况而不是使用频率进行类似的分析。
按行归一化。颜色越深表示该 API 的用户更倾向该优先级。 目前什么对您帮助最大? Bug 修复 更多文档 更多我领域的示例 新功能 性能改进 Dask API Array Bag DataFrame Delayed Futures ML Xarray 10 24 62 15 25 3 11 16 10 7 16 32 71 39 26 16 22 55 26 27 12 9 25 20 17 5 11 23 11 7 8 11 34 7 9
没有什么特别突出的。使用“futures”的用户(我们预计他们相对较高级)可能更看重功能和性能而不是文档。但大家普遍认为更多的示例是最高优先级。
对于特定功能,我们(作为开发者)列出了我们认为可能重要的事情。
最突出的是有多少人认为“更好的 NumPy/Pandas 支持”是“最关键的”。事后来看,最好有一个后续的填空字段来了解每个受访者的具体含义。最简洁的解释是“涵盖更多的 NumPy / pandas API”。
“易于部署”的受访者中有很多认为其“对我来说至关重要”。同样事后来看,我注意到有点歧义。这是否意味着人们希望 Dask 更易于部署?还是说他们目前发现 Dask 易于部署,这至关重要?无论如何,我们都可以优先考虑部署的简易性。
相对较少的受访者关心“管理许多用户”之类的事情,尽管我们预计这在系统管理员中会比较受欢迎,但这部分人群数量较少。
当然,还有一些将 Dask 推向极限的人,对他们来说“改进扩展性”至关重要。
相对较高比例的受访者使用 Python 3(97%,而最近的 Python 开发者调查 中为 84%)。
3 97.29%
2 2.71%
名称:Python 2 或 3?, 数据类型:object
我们有点惊讶地看到 SSH 是最受欢迎的“集群资源管理器”。
SSH 98
Kubernetes 73
HPC 资源管理器 (SLURM, PBS, SGE, LSF 或类似) 61
我的工作场所有自定义解决方案 23
我不知道,别人帮我做的 16
Hadoop / Yarn / EMR 14
名称:如果您使用集群,您如何启动 Dask?, 数据类型:int64
集群资源管理器与 API 使用情况相比如何?
Dask API Array Bag DataFrame Delayed Futures ML Xarray 如果您使用集群,您如何启动 Dask? 自定义 HPC Hadoop / Yarn / EMR Kubernetes SSH 15 6 18 17 14 6 7 50 13 40 40 22 11 30 7 6 12 8 4 7 3 40 18 56 47 37 26 21 61 23 72 58 32 30 25
HPC 用户相对较多地使用 dask.array 和 xarray。
有点令人惊讶的是,Dask 的重度用户认为 dask 已经足够稳定。也许他们已经解决了 bug 并找到了变通方法(百分比按行归一化)。
再次感谢所有受访者。我们期待重复这个过程,以便随着时间推移识别趋势。