从云对象存储中引入数据

本文列出了从云对象存储中配置增量引入的方法。

“添加数据”UI

要了解如何使用添加数据 UI 从云对象存储的数据中创建托管表,请参阅使用 Unity Catalog 外部位置加载数据

笔记本或 SQL 编辑器

本部分介绍使用笔记本或 Databricks SQL 编辑器从云对象存储中配置增量引入的选项。

自动加载程序

自动加载程序会在新数据文件到达云存储空间时以增量方式高效地对其进行处理,而无需进行任何其他设置。 自动加载程序提供了名为 cloudFiles 的结构化流式处理源。 给定云文件存储上的输入目录路径后,cloudFiles 源将在新文件到达时自动处理这些文件,你也可以选择处理该目录中的现有文件。

COPY INTO

通过 COPY INTO,SQL 用户能够以幂等和增量方式将数据从云对象存储引入 Delta 表。 它可以在 Databricks SQL、笔记本和 Databricks 作业中使用 COPY INTO

何时使用 COPY INTO 以及何时使用自动加载程序

在 Auto Loader 和 COPY INTO 之间进行选择时,需要考虑以下几点:

  • 如果要在一段时间内以数千个顺序引入文件,则可以使用 COPY INTO。 如果随着时间的推移,文件的数量约为数百万或更多,请使用自动加载程序。 与 COPY INTO 相比,自动加载程序发现文件所需的总操作数更少,并且可以将处理拆分为多个批,这意味着自动加载程序在大规模处理时成本更低、效率更高。

  • 如果你的数据架构将频繁演化,自动加载程序会围绕架构推理和演进提供更好的基元数据类型。 有关详细信息,请参阅在自动加载程序中配置架构推理和演变

  • 使用 COPY INTO 加载重新上传的文件的子集可以更容易地进行管理。 使用自动加载程序,很难重新处理选定的文件子集。 但是,你可以使用 COPY INTO 在自动加载程序流同时运行时重新加载文件子集。

  • 为了获得更可缩放且更可靠的文件引入体验,自动加载程序使 SQL 用户能够利用流式处理表。 请参阅 在 Databricks SQL 中使用流式处理表加载数据

有关自动加载程序和 COPY INTO 的简要概述和演示,请观看以下 YouTube 视频(2 分钟)。

使用 Delta Live Tables 和自动加载程序自动执行 ETL

可以使用自动加载程序和 Delta Live Tables 简化可缩放的增量引入基础结构的部署。 增量实时表不使用笔记本中的标准交互式执行,而是强调部署做好生产准备的基础结构。

第三方引入工具

Databricks 验证技术合作伙伴集成,使你能够从各种源(包括云对象存储)引入。 利用这些集成,可以以低代码、可缩放的方式从各种不同源将数据引入到 Azure Databricks 中。 请参阅技术合作伙伴什么是 Databricks Partner Connect?中包含一些技术合作伙伴,并提供了一个 UI,可简化将第三方工具连接到湖屋数据的过程。