如何在Databricks上使用Dask

问题描述 投票:0回答:3

我想在 Databricks 上使用 Dask。这应该是可能的(我不明白为什么不可以)。如果我导入它,会发生以下两种情况之一,要么我得到一个

ImportError
,但是当我安装
distributed
来解决此问题时,DataBricks 只会说
Cancelled
而不会引发任何错误。

dask databricks dask-distributed azure-databricks
3个回答
6
投票

任何寻找答案的人,请查看这篇中等博客文章。为了防止人们在评论中错过这一点,我将其作为答案发布。


1
投票

我认为我们没有听说过有人在 databricks 下使用 Dask,但只要它只是 python,它很可能是可能的。

Dask 的默认调度程序是线程,这是最有可能起作用的。在这种情况下,您甚至不需要安装

distributed

对于 Canceled 错误,听起来您正在使用分布式,并且猜测系统不允许您启动额外的进程(您可以使用

subprocess
模块进行测试)。要解决此问题,您可以这样做

client = dask.distributed.Client(processes=False)

当然,如果确实是你需要的流程,那就不太好了。另外,我不知道如何公开仪表板的端口。


0
投票

Dask 社区现在有一个 dask-databricks 软件包,可以快速设置在多节点 Databricks 上与 Spark/Photon 一起运行 Dask 集群。这样您就可以运行一个集群,然后在同一基础设施上使用任一框架。

您创建一个 init 脚本来安装

dask-databricks
并使用 Dask CLI 命令启动 Dask 集群组件。

#!/bin/bash

# Install Dask + Dask Databricks
/databricks/python/bin/pip install --upgrade dask[complete] dask-databricks

# Start Dask cluster components
dask databricks run

然后在 Databricks Notebook 中,您可以使用 dask_databricks.get_client() 实用程序获取

Dask 客户端
对象。

import dask_databricks

client = dask_databricks.get_client()

它还可以通过 Databricks Web 代理设置对 Dask 仪表板的访问。

© www.soinside.com 2019 - 2024. All rights reserved.