生态系统
目录
生态系统¶
有许多开源项目扩展了 Dask 接口并提供了部署 Dask 集群的不同机制。这可能是一个不完整的列表,如果您发现缺少的内容 - 请提出修改建议!
基于 Dask 构建¶
许多软件包包含了对 Dask collections 的内置支持,或在内部包装 Dask collections 以实现并行化。
数组¶
DataFrame¶
cudf: Rapids 项目的一部分,实现了支持 GPU 的 DataFrame,可用作 Dask DataFrame 中的分区。
dask-geopandas: geopandas 的早期阶段子项目,实现了 geopandas DataFrame 的并行化。
SQL¶
blazingSQL: Rapids 项目的一部分,使用
cuDF
和 Dask 实现 SQL 查询,用于在 CUDA/GPU 支持的硬件上执行,包括引用外部存储的数据。dask-sql: 在 Dask 之上添加了 SQL 查询层。API 与 blazingSQL 匹配,但使用 CPU 而不是 GPU。它仍在开发中,尚未准备好用于生产环境。
fugue-sql: 添加了一个抽象层,使代码可在不同计算框架(如 Pandas、Spark 和 Dask)之间移植。
机器学习¶
dask-ml: 实现了常见机器学习算法的分布式版本。
scikit-learn: 为 joblib 后端提供“dask”,以使用 dask 作为处理器并行化 scikit-learn 算法。
xgboost: 强大且流行的梯度提升树库;包含使用 dask 进行分布式训练的原生支持。
lightgbm: 类似于 XGBoost;lightgbm 也原生提供决策树的分布式训练支持。
部署 Dask¶
Dask 分布式集群有许多不同的实现。
dask-jobqueue: 在 PBS、Slurm、MOAB、SGE、LSF 和 HTCondor 等作业队列系统上部署 Dask。
dask-kubernetes: 从 Python 脚本或交互式会话中在 Kubernetes 上部署 Dask worker。
dask-helm: 使用 Helm 轻松在 Kubernetes 上部署 Dask 和(可选)Jupyter 或 JupyterHub。
dask-yarn / Hadoop: 在 YARN 集群上部署 Dask,例如在传统 Hadoop 安装中找到的集群。
dask-cloudprovider: 利用云原生 API 在各种云平台(如 AWS、Azure 和 GCP)上部署 Dask。
dask-gateway: 安全的多租户服务器,用于管理 Dask 集群。在共享的、集中管理的集群环境中启动和使用 Dask 集群,而无需用户直接访问底层集群后端。
dask-cuda: 构建一个类似于
LocalCluster
且专门针对 GPU 优化的 Dask 集群。