将数据提取到 Databricks

2025年1月30日 | 阅读 5 分钟

将数据摄取到 Databricks Lakehouse

Databricks 提供了一种简便的方法,可将数据轻松流入由 Lakehouse 架构支持的 Delta Lake。在本例中,Auto Loader 是将数据从云对象存储注入的最佳方法。其速度快、易于使用的优势使其成为处理不断变化的数据集的最佳选择。即使 Add Data UI 也包含一个 GUI 功能,其中有许多选项可从本地存储或外部源快速上传文件,从而提高了用户的数据可访问性和数据交换能力。

Data ingestion into Databricks

探索 Auto Loader

Auto Loader 正是能够快速响应云存储中新出现的数据文件,从而提高数据处理效率的关键。通过利用云提供的 Structured Streaming,Auto Loader 能够开发直接集成文件处理的平台。这得益于云文件源或 Auto Loader 编排的帮助。此外,它还能处理指定目录中已有的文件,并保证工作流程正确运行。

使用 Delta Live Tables 自动化 ETL

为了快速实现可扩展、循序渐进的摄取基础设施,且不增加维护成本和麻烦,Delta Live Tables 与 Auto Loader 一起提供了一种吸引人的方法。然而,Delta Live Tables 侧重于为生产部署生产级基础设施,而不是交互式 Notebook 执行,这表明它们更适合企业级操作。

其他数据摄取方法

Databricks 是一个开源 ETL 工具,支持多种数据消耗路径。用户可以通过安全上传功能或 Add Data UI 添加数据文件或访问本地系统上的源文件。此外,它们还引入了第三方工具,Databricks 从中获得了低代码、可扩展且易于进行数据摄取的功能,因此,该生态系统成为集成的多样化集合。

  • COPY INTO 命令
    SQL 用户可以编写 COPY INTO 命令,以一种相当严格和增量的方式将数据从云对象存储保存到 Delta 表中。此命令具有一系列特性:它可以有效地用于 Databricks SQL、Notebooks 和 Databricks Jobs,为用户提供强大的数据处理和数据输入工具。
    在 Auto Loader 和 COPY INTO 之间进行选择取决于多种因素,以下是一些指导您决策的考虑因素
    1. 数据规模
      如果您进行系统范围的并行化或每天处理数百万个文件,建议使用 Auto Loader。它在该领域的努力和可扩展性使其在管理大型数据集方面表现出色。
    2. 效率和成本
      与 COPY INTO 相比,Auto Loader 在查找文件时执行的操作更少,但成本更低,因此主要用于数据扩展场景。
      如果有一件事是肯定的,那就是,只要成本优化是关键因素,操作的规模就起着决定性作用,而选择 Auto Loader 就成为必须。
    3. 模式演进
      如果您的数据模式很多,Auto Loader 还提供支持模式更改和模式演进的更新。灵活的数据模式使其能够应对和适应不断变化的数据。因此,简单的管理可确保灵活性和安全性维护。
    4. 管理重新上传的文件
      在处理重新上传文件的深度时,COPY INTO 命令可能是简化整体数据管理的更好选择。Auto Loader 不仅需要几分钟时间来完全找到旧的处理项目,而且处理选定的文件子集,尤其是在间隙期间,可能会相当复杂。然而,您可以选择 COPY INTO,它确保同时加载特定的标签文件,而 Auto Loader 流则处于当前状态。

流表

特别是对于那些需要更具可扩展性和更强大、有序的问题文件摄取功能的人来说,可以为此目的转向流表。它包含一个数据传输功能,可以支持流式工作流程并提高实时数据处理能力。

在数据摄取过程中审查文件元数据

在 Apache Spark 的数据加载过程中,它会基于源文件属性生成元数据,从而可以洞察数据的属性。为此,Databricks 提供了文件元数据列,您可以在其中找到有关文件路径、文件大小、修改时间戳等信息。

将电子表格导出上传到 Databricks。

作为 Databricks 文件上传到表创建或修改功能的扩展,您可以放心地依赖“从文件上传创建”选项。此功能支持多种格式的文件,包括 CSV(逗号分隔)、TSV(制表符分隔)和 JSON。此功能使您能够轻松加载电子表格,并深入了解如何在 Databricks 中创建或修改表,从而提高数据摄取的性能。

将数据应用程序迁移到 Databricks。

Databricks 平台对迁移过程提供了大力支持,并配备了先进的迁移设施,以帮助组织将现有数据应用程序迁移到该平台。当团队拥有一个单一平台以方便地迁移来自不同源系统的数据应用程序时,就可以在 Databricks 和团队之间进行数据应用程序的迁移过程。这使得处理数据和查找洞察变得更加轻松,从而使团队能够更高效地工作并更好地协作。研究“迁移应用程序到 Databricks 数据”手册,以获取有关迁移过程的详细信息,并充分利用 Databricks 迁移您的数据。

结论

最后,Databricks 在其 Lakehouse 架构中提供了数据提取和 Delta Lake 注册表管理等强大工具和功能,以便轻松地合并来自不同来源的数据。通过使用 Auto Loader、COPY INTO 以及与其他 Delta Live Tables 和流表一起使用,可以确保处理从简单到复杂的大量数据的可扩展性、效率和灵活性。通过利用广泛的元数据捕获功能以及流程顺畅的迁移程序,Databricks 为跨不同规模的组织的数据应用程序的无障碍迁移和团队协作创造了机会。