云端
目录
云端¶
在云端部署 Dask 有多种方式。云服务提供商提供了托管服务,例如虚拟机 (VMs)、Kubernetes、Yarn 或定制 API,Dask 可以轻松连接到这些服务。
一些你可能需要考虑的常见部署选项包括:
一种商业 Dask 部署选项,例如 Coiled,用于处理 AWS、GCP 和 Azure 上的 Dask 集群创建和管理。
托管的 Kubernetes 服务以及 Dask 的Kubernetes 集成。
使用 Dask Cloud Provider 通过集群管理器直接启动云资源,例如虚拟机或容器。
托管的 Yarn 服务,例如 Amazon EMR 或 Google Cloud DataProc,以及 Dask-Yarn(可以在此处找到流行服务 Amazon EMR 的特定文档)。
云端部署示例¶
Coiled 在 AWS、GCP 和 Azure 上部署托管的 Dask 集群。它对大多数用户免费,并具有解决常见部署痛点的几个特性,例如:
易于使用的 API
自动软件同步
轻松访问任何区域的任何云硬件(例如 GPU)
强大的日志记录、成本控制和指标收集
>>> import coiled
>>> cluster = coiled.Cluster(
... n_workers=100, # Size of cluster
... region="us-west-2", # Same region as data
... vm_type="m6i.xlarge", # Hardware of your choosing
... )
>>> client = cluster.get_client()
建议使用 Coiled 在云端部署 Dask。不过,也有非商业的开源选项,例如 Dask Cloud Provider、Dask-Gateway 和 Dask-Yarn(有关其他选项,请参阅云端部署选项)。
使用 Dask Cloud Provider 在 DigitalOcean 等平台上启动虚拟机集群,可以像启动本地集群一样方便。
>>> import dask.config
>>> dask.config.set({"cloudprovider.digitalocean.token": "yourAPItoken"})
>>> from dask_cloudprovider.digitalocean import DropletCluster
>>> cluster = DropletCluster(n_workers=1)
Creating scheduler instance
Created droplet dask-38b817c1-scheduler
Waiting for scheduler to run
Scheduler is running
Creating worker instance
Created droplet dask-38b817c1-worker-dc95260d
Dask Cloud Provider 中的许多集群管理器通过启动虚拟机(带有一个启动脚本,用于拉取 Dask Docker 镜像 并在该容器内运行 Dask 组件)来工作。与所有集群管理器一样,虚拟机资源、Docker 镜像等都是可配置的。
然后,你可以连接客户端并像在本地机器上一样使用该集群。
>>> client = cluster.get_client()