閱讀英文

共用方式為

浏览存储和查找数据文件

本文重点介绍如何发现和浏览由 Unity 目录卷管理的目录和数据文件,包括有关使用目录资源管理器浏览卷的基于 UI 的说明。 本文还提供了使用卷路径和云 URI 以编程方式浏览云对象存储中的数据的示例。

Databricks 建议使用卷来管理对云对象存储中的数据的访问权限。 有关连接到云对象存储中的数据的详细信息,请参阅连接到数据源

有关如何与所有位置中的文件交互的完整演练,请参阅使用 Azure Databricks 上的文件

重要

在工作区 UI 中搜索“文件”时,可能会发现存储为工作区文件的数据文件。 Databricks 建议将工作区文件主要用于代码(如脚本和库)、初始化脚本或配置文件。 理想情况下,存储为工作区文件的数据应仅限可用于开发和 QA 期间测试等任务的小型数据集。 请参阅什么是工作区文件?

卷与旧版云对象配置

使用卷管理对云对象存储中数据的访问权限时,只能使用卷路径访问数据,并且这些路径可用于所有已启用 Unity 目录的计算。 无法使用卷来注册支持 Unity 目录表的数据文件。 Databricks 建议使用表名称而不是文件路径来与注册为 Unity 目录表的结构化数据进行交互。 请参阅对于 Unity Catalog 管理的数据,路径是如何工作的?

如果使用旧方法配置对云对象存储中数据的访问,Azure Databricks 将还原为旧表 ACL 权限。 希望通过使用 SQL 仓库或配置了标准访问模式(以前称为共享)的计算设备来访问云 URI 数据的用户需要 ANY FILE 权限。 请参阅 Hive 元存储表访问控制(旧版)

Azure Databricks 提供了多个 API,用于列出云对象存储中的文件。 本文中的大多数示例都侧重于使用卷。 有关与无卷配置的对象存储上的数据交互的示例,请参阅使用 URI 列出文件

浏览卷

可以使用目录资源管理器浏览卷中的数据并查看卷的详细信息。 只能看到有读取权限的卷,因此可以查询所有以这种方式发现的数据。

可以使用 SQL 浏览卷及其元数据。 若要列出卷中的文件,可以使用 SQL、%fs magic 命令或 Databricks 实用工具。 与卷中的数据交互时,请使用 Unity 目录提供的路径,该路径的格式始终如下:

/Volumes/catalog_name/schema_name/volume_name/path/to/data

显示卷

SQL

运行以下命令在给定架构中查看卷列表。

SHOW VOLUMES IN catalog_name.schema_name;

请参阅SHOW VOLUMES

目录资源管理器

若要使用目录资源管理器在给定架构中显示卷,请执行以下操作:

  1. 选择 “目录”图标“目录”图标

  2. 选择目录。

  3. 选择架构。

  4. 单击“卷”以展开架构中的所有卷。

注意

如果未将任何卷注册到架构,则不会显示“卷”选项。 而是会显示可用表的列表。

参阅数据量详细信息

SQL

运行以下命令来描述卷。

DESCRIBE VOLUME volume_name

请参阅 DESCRIBE VOLUME

目录资源管理器

单击卷名称,然后选择“详细信息”选项卡以查看卷详细信息。

查看卷中的文件

SQL

运行以下命令以列出卷中的文件。

LIST '/Volumes/catalog_name/schema_name/volume_name/'

目录资源管理器

单击卷名称,然后选择“详细信息”选项卡以查看卷详细信息。

%fs

运行以下命令以列出卷中的文件。

%fs ls /Volumes/catalog_name/schema_name/volume_name/

Databricks 实用程序

运行以下命令以列出卷中的文件。

dbutils.fs.ls("/Volumes/catalog_name/schema_name/volume_name/")

预览卷中的文件

单击目录资源管理器中卷中文件的名称以查看文件的预览。

重要

用户必须对包含卷具有 READ VOLUME 权限才能预览文件。

文本文件以纯文本显示内容。

支持的图像文件显示图像。

预览体验尝试为文件(例如 .yml.yaml.json)提供语法突出显示。

注意

如果文件损坏、内容格式不正确或使用了错误的扩展名,预览可能无法正确呈现。

支持以下文件格式:

  • 图像文件:jpg、jpeg、png、gif、bmp、webp、ico
  • 文本文件:txt、log、md
  • 半结构化数据文件:json、csv
  • 配置文件:yaml、yml

列出带有 URI 的文件

可以使用 URI 查询通过卷以外的方法配置的云对象存储。 必须连接到具有访问云位置的权限的计算。 SQL ANY FILE 仓库和使用标准访问模式(以前共享访问模式)配置的计算需要该权限。

注意

不支持对使用卷配置的对象存储的 URI 访问。 不能使用目录资源管理器查看未使用卷配置的对象存储的内容。

以下示例包括使用 Azure Data Lake Storage 和 S3 存储的数据的示例 URI。

SQL

运行以下命令,列出云对象存储中的文件。

-- ADLS 2
LIST 'abfss://container-name@storage-account-name.dfs.core.chinacloudapi.cn/path/to/data'

-- S3
LIST 's3://bucket-name/path/to/data'

%fs

运行以下命令,列出云对象存储中的文件。

# ADLS 2
%fs ls abfss://container-name@storage-account-name.dfs.core.chinacloudapi.cn/path/to/data

# S3
%fs ls s3://bucket-name/path/to/data