什么是工作区文件?

工作区文件是 Azure Databricks 工作区中任何不是 Databricks 笔记本的文件。 工作区文件可以是任何文件类型。 常见示例包括:

  • 自定义模块中使用的 .py 文件。
  • .md 文件,例如 README.md
  • .csv 或其他小型数据文件。
  • .txt 文件。
  • .whl 库。
  • 日志文件。

工作区文件包含以前称为“Repos 中的文件”的文件。

重要

默认情况下,Databricks Runtime 11.2 会随处启用工作区文件,但管理员可以使用 REST API 禁用工作区文件。 对于生产工作负载,请使用 Databricks Runtime 11.3 LTS 或更高版本。 如果无法访问此功能,请与工作区管理员联系。

工作区文件有哪些作用

Azure Databricks 为许多工作区文件类型(包括内置文件编辑器)提供类似于本地开发的功能。 并非所有文件类型的所有用例都受支持。 例如,虽然可以在导入的目录或存储库中包含图像,但不能在笔记本中嵌入图像。

可以使用笔记本交互中熟悉的模式创建、编辑和管理对工作区文件的访问权限。 可以使用相对路径从工作区文件进行库导入,类似于本地开发。 有关详细信息,请参阅:

存储在工作区文件中的初始化脚本具有特殊行为。 可以在任何 Databricks Runtime 版本中使用工作区文件来存储和引用初始化脚本。 请参阅在工作区文件中存储 init 脚本

注意

在 Databricks Runtime 14.0 及更高版本中,本地执行的代码的默认当前工作目录 (CWD) 是包含正在运行的笔记本或脚本的目录。 这是 Databricks Runtime 13.3 LTS 及更低版本的行为更改。 请参阅什么是默认的当前工作目录?

限制

工作区文件限制的完整列表可在工作区文件限制中找到。

文件大小限制

单个工作区文件限制为 500 MB。

用户可从 UI 上传高达 500 MB 的文件大小。 从群集写入时,允许的最大文件大小为 256 MB。

适用于 Repos 中的文件和包含 Azure Databricks 容器服务的群集的 Databricks Runtime 版本

在运行 Databricks Runtime 11.3 LTS 及更高版本的群集上,默认设置允许将 Repos 中的工作区文件与 Azure Databricks 容器服务 (DCS) 配合使用。

在运行 Databricks Runtime 版本 10.4 LTS 和 9.1 LTS 的群集上,必须将 dockerfile 配置为访问具有 DCS 的群集上的 Repos 中的工作区文件。 有关所需的 Databricks Runtime 版本,请参阅以下 dockerfile:

请参阅使用 Databricks 容器服务自定义容器

启用工作区文件

要在 Databricks 工作区中启用对非笔记本文件的支持,可从笔记本或有权访问 Databricks 工作区的其他环境中调用 /api/2.0/workspace-conf REST API。 默认情况下,工作区文件处于“已启用”状态

要在 Databricks 工作区中启用或重新启用对非笔记本文件的支持,请调用 /api/2.0/workspace-conf 并获取 enableWorkspaceFileSystem 密钥的值。 如果将其设置为 true,则已为工作区启用非笔记本文件。

以下示例演示如何从笔记本调用此 API,以检查是否禁用了工作区文件,如果为是,请重新启用它们。 要禁用工作区文件,请使用 /api/2.0/workspace-conf API 将 enableWorkspaceFilesystem 设置为 false

示例:用于重新启用 Databricks 工作区文件支持的笔记本

获取笔记本