教程:使用增量实时表实现 ETL 工作流
增量实时表提供了一种简单的声明性方法,用于对批处理或流式处理数据生成 ETL 和机器学习管道,同时自动执行基础结构管理、任务业务流程、错误处理和恢复及性能优化等操作复杂性。 可使用以下教程开始使用增量实时表,执行常见数据转换任务,并实现更高级的数据处理工作流。
使用增量实时表创建第一个管道
为了帮助你了解增量实时表框架的功能以及如何实现管道,本教程将指导你创建和运行第一个管道。 本教程包括一个端到端的管道示例,该管道接收数据、清理和准备数据并对已准备的数据执行转换。 请参阅教程:运行第一个增量实时表管道。
使用 Python 以编程方式创建多个表
注意
仅使用 SQL 无法轻松完成本文中所示的模式。 由于可以针对任何返回数据帧的查询定义 Python 数据集,因此可以根据需要使用 spark.sql()
,以便在 Python 函数中利用 SQL 语法。
可以在 SQL 查询中使用 Python 用户定义函数 (UDF),但必须先在同一管道内的 Python 文件中定义这些 UDF,然后再在 SQL 源文件中调用它们。 请参阅用户定义标量函数 - Python。
许多工作流需要实现多个数据处理流或数据集定义,这些流或定义相同或只有几个参数不同。 这种冗余可能会导致管道容易出错且难以维护。 若要解决这种冗余,可将元编程模式与 Python 配合使用。 有关演示如何使用此模式调用多次调用的函数以创建不同表的示例,请参阅以编程方式创建多个表。
在 Azure Databricks 工作流中包含增量实时表管道
除了使用增量实时表创建端到端数据处理工作流之外,还可将增量实时表管道用作实现复杂数据处理和分析任务的工作流中的任务。 “在 Azure Databricks 作业中使用 Databricks SQL”中的教程逐步讲解如何创建端到端的 Azure Databricks 工作流,其中包括一个增量实时表管道,以便为使用 Databricks SQL 进行分析和可视化准备数据。