介绍
在 Databricks 中,您可以通过在创建集群时选择运行时来选择具有各种库和版本的运行时。运行时中包含的库和版本是在这里检查能够。
可以在集群启动时使用 Databricks 库服务和初始化脚本添加和配置其他库、配置文件等。
- 使用 Databricks 安装库 (@taka_yayoi)
- 安装 Homebrew 库 - Databricks(通过 tktsq)
- 如何在 Databricks 中导入 python 模块?
- Databricks 集群节点初始化脚本 (@taka_yayoi)
基本上基础库都有更新,比如支持新功能和bug修复,所以我觉得最好还是用上面的方法来操作。
但是,每次集群启动时安装大量库等也会减慢启动时间,这也是事实。在某些情况下,您可能想要锁定版本。
Databricks 允许您自定义和保存运行时环境。这将是 Databricks 容器服务。 Docker Container 运行在 Databricks 集群实例上,因此您可以提前创建它并在启动时加载它。
这次我想试试这个容器服务。
官方设置方法请看这里
https://learn.microsoft.com/ja-jp/azure/databricks/clusters/custom-containers准备
- 在本地 PC 上安装 Docker
- 准备一个可从集群环境(Amazon ECR、Azure Container Registry、Docker Hub 等)访问的 Docker 注册表
- 启用 Databricks 容器服务。设置方法
关于容器基础镜像
容器基础镜像是https://hub.docker.com/u/databricksruntime托管在 Docker Hub 上。用于生成这些基础的 Dockerfile 是https://github.com/databricks/containers如果你想知道基地的内容,请检查它。
每个 LTS 版本都可以作为 Standard 基础镜像,但是没有 ML 版本,所以需要自己构建。也可以在不使用基础映像的情况下从头开始创建。了解更多信息这里请看。 (这次我们将使用基础镜像)
对于 GPU 用户,还有一个包含 GPU 库的基础映像。关于使用这个手动的请看。用于生成这些基础的 Dockerfile 是https://github.com/databricks/containers在
如何使用容器服务
1.使用基础镜像创建Dockerfile
让我们创建一个自定义 Dockerfile。在本地 PC 上的任何目录上创建 Dockerfile。描述基础镜像和要添加的库如下。还有很多其他文章解释了如何编写 Dockerfile,所以请参考它们。 (参考网站)
DockerfileFROM databricksruntime/standard:11.3-LTS RUN /databricks/python3/bin/pip install mlflow RUN /databricks/python3/bin/pip install tensorflow添加 mlflow 和 tensorflow 后,大小变为 3GB。 .
2.构建
基于创建的 Dockerfile 构建一个新的镜像。
docker build --pull --rm -f "Dockerfile" -t standarddemo "."如果 VSCode 中包含 Docker Extension,您可以通过右键单击来构建它。
3. 登录 Docker Registry
这次我们将使用 Docker HUB。
docker login如果 Docker Extension 包含在 VSCode 中,您可以从要查看 Registories 出口的标记处连接。
4.推送图片
将镜像推送到 Docker HUB。为了清楚起见,这次将标签设置为 11.3-LTS。
docker push <myregistry>/standarddemo:11.3-LTS如果 VSCode 中包含 Docker Extension,您可以通过单击 Image 和 PUSH,选择命名空间和标签来执行它。
5. 将容器镜像指向 Databricks 集群。
在新建集群中,打开底部“高级选项”中的“Docker”选项卡,勾选“使用自己的Docker容器”。 Docker 镜像 URL 和身份验证(在 Docker HUB 的情况下,默认就可以,因为它是公共的并且没有身份验证)。此外,将 <myregistry> 更改为推送的注册表名称。
当我启动它并检查 python 库时,我能够确认包含 mlflow 和 tensorflow。
很重要的一点
由于您必须自己维护 Container 镜像,因此您需要自己进行库补丁和版本更新。
此外,某些 Databricks 功能仅在基本映像中不可用。
- 甘古利亚
- 集群网络终端
- MLflow 自动记录
这样的如果您想使用Databricks的功能和新功能,只需使用Databricks提供的Runtime即可。
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308630996.html