Databricks#
您可以通过几种不同的方式在 Databricks 上安装 RAPIDS
在单节点 GPU notebook 环境中加速机器学习工作流
Spark 用户可以在 Databricks 上安装 用于 Apache Spark 3.x 的 RAPIDS 加速器
在 Spark 旁边安装 Dask,然后使用
dask-cudf等库进行多节点工作负载
单节点 GPU Notebook 环境#
创建 init-script#
要开始使用,您必须首先配置一个初始化脚本,以安装 RAPIDS 库和项目的所有其他依赖项。
Databricks 推荐使用存储在工作区文件中的集群范围的 init 脚本。
导航到左上角的工作区选项卡,点击您的主目录,然后从菜单中选择添加 > 文件。创建一个包含以下内容的 init.sh 脚本:
#!/bin/bash
set -e
# Install RAPIDS libraries
pip install \
--extra-index-url=https://pypi.nvidia.com \
"cudf-cu12>=25.04" "cuml-cu12>=25.04" \
"dask-cuda>=25.04"
启动集群#
要开始使用,请导航到 Databricks 中计算部分的通用计算选项卡,然后选择创建计算。命名您的集群并选择“单节点”。

为了启动 GPU 节点,请取消勾选使用 Photon 加速并选择运行时版本 15.4 LTS ML (包含 Apache Spark 3.5.0, GPU, Scala 2.12)。
“GPU 加速”节点现在应在节点类型下拉列表中可用。

然后展开高级选项部分,打开初始化脚本选项卡,输入您的工作区目录中 init-script 的文件路径,该路径以 /Users/<user-name>/<script-name>.sh 开头,然后点击“添加”。

选择创建计算
测试 RAPIDS#
集群启动后,您可以从 /Workspace 目录创建新的 notebook 或打开现有 notebook,然后将其附加到正在运行的集群。
import cudf
gdf = cudf.DataFrame({"a":[1,2,3],"b":[4,5,6]})
gdf
a b
0 1 4
1 2 5
2 3 6
cuDF Pandas 快速入门#
RAPIDS 最近引入了 cuDF 的pandas 加速器模式,以零代码更改加速现有 pandas 工作流。
在 Databricks 单节点上使用 cudf.pandas 在处理大型数据集时,可以比传统 pandas 提供显著的性能提升;操作在可能的情况下会优化为在 GPU (cuDF) 上运行,并在必要时无缝回退到 CPU (pandas),同时在后台进行同步。
下面是一个快速示例,说明如何在 Jupyter notebook 中加载 cudf.pandas 扩展
%load_ext cudf.pandas
%%time
import pandas as pd
df = pd.read_parquet(
"nyc_parking_violations_2022.parquet",
columns=["Registration State", "Violation Description", "Vehicle Body Type", "Issue Date", "Summons Number"]
)
(df[["Registration State", "Violation Description"]]
.value_counts()
.groupby("Registration State")
.head(1)
.sort_index()
.reset_index()
)
在您的单节点 Databricks 集群中上传10 分钟掌握 RAPIDS cuDF Pandas notebook 示例并运行所有单元格。
多节点 Dask 集群#
Dask 现在有一个 dask-databricks CLI 工具(通过 conda 和 pip),用于简化在 Databricks 中启动 Dask 集群的过程。
安装 RAPIDS 和 Dask#
请参照下方创建 init 脚本,以安装 dask, dask-databricks RAPIDS 库以及项目的其他所有依赖项。
#!/bin/bash
set -e
# The Databricks Python directory isn't on the path in
# databricksruntime/gpu-tensorflow:cuda11.8 for some reason
export PATH="/databricks/python/bin:$PATH"
# Install RAPIDS (cudf & dask-cudf) and dask-databricks
/databricks/python/bin/pip install --extra-index-url=https://pypi.nvidia.com \
cudf-cu11 \
dask[complete] \
dask-cudf-cu11 \
dask-cuda==25.04 \
dask-databricks
# Start the Dask cluster with CUDA workers
dask databricks run --cuda
注意:默认情况下,dask databricks run 命令会在驱动节点上启动一个 dask 调度器,并在其余节点上启动标准 worker。
要启动具有 GPU worker 的 dask 集群,您必须解析并加入 --cuda 标志选项。
启动 Dask 集群#
脚本准备好后,按照说明启动多节点集群。
请确保选择 14.2 (Scala 2.12, Spark 3.5.0) 标准运行时,如下所示。

然后展开高级选项部分并打开Docker选项卡。选择使用您自己的 Docker 容器并输入镜像 databricksruntime/gpu-tensorflow:cuda11.8 或 databricksruntime/gpu-pytorch:cuda11.8。

在初始化脚本选项卡中配置 init 脚本的路径。您也可以选择在日志记录选项卡中配置集群日志交付,这将把init 脚本日志写入 DBFS 中名为 dbfs:/cluster-logs/<cluster-id>/init_scripts/ 的子目录。

完成后,您应该可以为Worker和Driver节点选择“GPU 加速”实例。

选择创建计算
连接到客户端#
import dask_databricks
client = dask_databricks.get_client()
client
仪表板#
Dask 仪表板提供了一个基于 Web 的用户界面,其中包含可视化以及有关 Dask 集群状态(例如任务进度、资源利用率等)的实时信息。
创建调度器时,仪表板服务器将自动启动,默认在端口 8087 上托管。要访问,请按照 URL 导航到 Databricks 中的仪表板状态端点。

提交任务#
import cudf
import dask
df = dask.datasets.timeseries().map_partitions(cudf.from_pandas)
df.x.mean().compute()

Dask-Databricks 示例#
在您的多节点集群中,上传 在 Databricks 中使用 Dask RAPIDS 训练 XGBoost 的 Jupyter notebook 示例并运行所有单元格。
清理#
client.close()