bob体育客户端下载平台的博客

使用Delta活动表实现智能数据管道的5个步骤

分享这篇文章

许多IT组织都熟悉传统的提取、转换和加载(ETL)过程——定义为将数据从源数据仓库移动和转换到传统数据仓库和数据集市的一系列步骤,用于报告目的。然而,随着组织越来越多地转向数据驱动,交互、物联网和移动数据等海量数据已经改变了企业数据格局。通过采用湖屋建筑在美国,IT组织现在有了一种机制,可以在任何延迟情况下管理、治理和保护任何数据,并在数据实时或批量到达时进行大规模处理,以进行分析和机器学习。

传统ETL的挑战

从概念上讲,构建ETL管道听起来很容易——数据工程师已经在传统数据仓库实现中执行了多年。然而,对于当今的现代数据需求,数据工程师现在负责开发和操作ETL管道,以及维护端到端ETL生命周期。他们负责繁琐的手工任务,确保数据管道的所有维护方面:测试、错误处理、恢复和再处理。这突出了数据工程团队在为消费用例交付值得信赖、可靠的数据时所面临的几个挑战:

  1. 复杂管道开发:数据工程师花费大部分时间定义和编写代码来管理ETL生命周期,处理表依赖关系、恢复、回填、重试或错误条件,而应用业务逻辑的时间较少。这就把一个简单的ETL流程变成了一个复杂的数据管道实现。
  2. 数据质量不足:如今,数据是企业战略资产,对于数据驱动的决策至关重要,但仅仅提供数据并不是成功的决定因素。ETL过程应该确保满足业务需求的数据质量。许多数据工程师工作紧张,被迫专注于为分析或机器学习提供数据,而没有解决不可信数据的来源,这反过来导致不正确的见解、扭曲的分析和不一致的建议。
  3. 端到端数据管道测试:数据工程师需要考虑数据管道中的数据转换测试。端到端ETL测试必须处理输入数据的所有有效假设和排列。通过应用数据转换测试,可以保证数据管道平稳运行,确认代码对所有源数据变化都能正确工作,并防止代码更改时出现倒退。
  4. 多时延数据处理:数据生成的速度使数据工程师难以决定是实现批处理还是连续流数据管道。根据传入的数据和业务需求,数据工程师需要灵活地更改延迟,而不必重写数据管道。
  5. 数据管道操作:随着数据规模和复杂性的增长以及业务逻辑的变化,必须部署新版本的数据管道。数据团队花费周期设置数据处理基础设施,手动编码以适应规模,以及重新启动、打补丁和更新基础设施。所有这些都意味着时间和成本的增加。当数据处理失败时,数据工程师会花时间手动遍历日志以了解故障、清理数据并确定重启点。这些手动且耗时的活动变得非常昂贵,会导致重新启动或升级数据管道的开发成本,从而进一步延迟下游数据消费的sla。

一种自动化智能ETL的现代方法

数据工程团队需要重新思考ETL生命周期,以应对上述挑战,提高效率并及时可靠地交付高质量数据。因此,实现自动化、智能ETL的现代化方法对于快速移动的数据需求至关重要。

为了使智能ETL自动化,数据工程师可以利用Delta活动表(DLT)。一种新的云原生管理服务Databricks湖屋平台bob体育客户端下载它提供了一个可靠的ETL框架,用于大规模开发、测试和运行数据管道。

Delta Live Tables对自动化智能ETL的好处

通过简化和现代化构建ETL管道的方法,Delta活动表使:

  • 声明式ETL管道:数据工程师可以利用SQL或Python来构建声明性管道,而不是手工编写ETL逻辑的低级代码——轻松定义“做什么”,而不是“如何”。使用DLT,它们指定如何转换和应用业务逻辑,而DLT自动管理管道中的所有依赖项。这确保了所有表都被正确地、连续地或按计划填充。例如,更新一个表将自动触发所有下游表更新。
  • 数据质量: DLT根据已定义的期望验证流经管道的数据流,以确保其质量和符合业务规则。DLT自动跟踪并报告所有质量结果。
  • 错误处理和恢复: DLT可以处理瞬态错误,并从管道运行期间发生的最常见错误中恢复。
  • 连续的、始终在线的处理: DLT允许用户设置数据更新到目标表的延迟,而无需了解复杂的流处理和实现恢复逻辑。
  • 管道的可见性:DLT从数据流图仪表板监视整体管道状态,并可视化地跟踪端到端管道健康状况,包括性能、质量、状态、延迟等。这允许您跟踪跨运行的数据趋势,以了解性能瓶颈和管道行为。
  • 简单的部署:DLT使您能够通过一次单击将管道部署到生产或回滚管道中,并最大限度地减少停机时间,以便您可以采用持续集成/持续部署流程。

数据工程师如何在5步中实现智能数据管道

为了实现自动化、智能的ETL,让我们研究一下数据工程师成功使用DLT实现数据管道所需的五个步骤。

步骤1。自动数据摄取到湖屋

数据工程师面临的最大挑战是有效地将各种数据类型(如结构化、非结构化或半结构化数据)及时转移到湖屋。他们可以使用Databricks自动加载程序以低成本和低延迟的方式将数据以批处理或流模式有效地移动到lakehouse,而无需额外的配置,如触发器或手动调度。

Auto Loader利用一种称为cloudFiles的简单语法,它在新文件到达时自动检测并增量处理。

为了使用Databricks Auto Loader,数据工程师使用一种简单的语法,称为cloudFiles,它将在新文件到达时自动检测并增量处理。

自动加载程序自动检测传入数据结构的更改,这意味着不需要管理模式更改的跟踪和处理。例如,当接收到定期引入新列的数据时,使用传统ETL工具的数据工程师通常必须停止他们的管道,更新他们的代码,然后重新部署。使用Auto Loader,他们可以利用模式演变,并使用更新的模式处理工作负载。

步骤2:在Lakehouse中转换数据

当数据被输入湖屋时,数据工程师需要对传入的数据应用数据转换或业务逻辑——将原始数据转换为结构化数据,以便进行分析、数据科学或机器学习。

DLT提供了SQL或Python的全部功能,在将原始数据加载到表或视图之前对其进行转换。转换数据可以包括几个步骤,例如连接来自多个数据集的数据、创建聚合、排序、派生新列、转换数据格式或应用验证规则。

使用Delta Live Tables,数据工程师可以在将原始数据加载到表或视图之前,使用SQL或Python对其进行转换。

第三步:确保Lakehouse内部的数据质量和完整性

数据质量和完整性对于确保湖屋内数据的整体一致性至关重要。使用DLT,数据工程师能够通过声明式指定在数据管道中定义数据质量和完整性控制三角洲的期望,例如应用列值检查。

使用Datbricks Delta Live表,数据工程师可以通过声明性地指定Delta Expectations在数据管道中定义数据质量和完整性控制。

例如,数据工程师可以在输入日期列上创建一个约束,该约束不为空,并且在一定的日期范围内。如果不满足这个条件,那么该行将被删除。下面的语法显示了两个名为pickup_datetime和dropoff_datetime的列,它们被期望为非空,如果dropoff_datetime大于pickup_datetime,则删除该行。

根据数据和验证的重要性,数据工程师可能希望管道删除该行、允许该行或停止管道的处理。

约束Valid_pickup_time expect (pickup_datetime而且dropoff_datetime而且(dropoff_datetime>pickup_datetime))违反下降

所有数据质量度量都在数据管道事件日志中捕获,允许跟踪和报告整个数据管道的数据质量。使用可视化工具,可以创建报告来了解数据集的质量,以及有多少行通过或未通过数据质量检查。

步骤4:自动ETL部署和操作化

在当今的数据需求下,敏捷和自动化生产部署是非常必要的。团队需要更好的方法来自动化ETL流程、模板化管道和抽象低级的ETL手工编码,以使用正确的数据满足不断增长的业务需求,而无需重新发明轮子。

部署数据管道时,DLT会创建一个理解语义的图,并显示由管道定义的表和视图。该图创建了一个高质量、高保真的谱系图,提供了数据流动的可见性,可用于影响分析。此外,DLT检查错误、缺失的依赖项和语法错误,并自动链接数据管道定义的表或视图。

Databricks Delta Live Tables检查错误、缺失依赖项、语法错误,并自动链接数据管道定义的表或视图。

一旦验证完成,DLT就会在高性能、可伸缩的Apache Spark™兼容计算引擎上运行数据管道——自动创建优化的集群,以大规模执行ETL工作负载。然后DLT用最新的可用数据创建或更新ETL中定义的表或视图。

在工作负载运行时,DLT将在事件日志表中捕获管道执行的所有细节,并在行级别捕获管道的性能和状态。详细信息,如处理的记录数量、管道的吞吐量、环境设置等等,都存储在事件日志中,数据工程团队可以查询这些信息。

在工作负载运行时,Databricks Delta Live Tables将在事件日志表中捕获管道执行的所有细节,并在行级别上记录管道的性能和状态。

当系统出现故障时,DLT自动停止并启动管道;不需要为检查点或手动管理数据管道操作编写代码。DLT自动管理重启、回填、从头重新运行数据管道或部署新版本管道所需的所有复杂性。

当将DLT管道从一个环境部署到另一个环境时,例如,从开发环境部署到测试环境部署到生产环境时,用户可以参数化数据管道。使用配置文件,他们可以提供特定于部署环境的参数,重用相同的管道和转换逻辑。

如何使用Delta Live table构建数据管道

步骤5:调度数据管道

最后,数据工程师需要编排ETL工作负载。DLT管道可以使用Databricks Jobs进行调度,从而实现对运行端到端生产就绪管道的自动化全面支持。Databricks job包括一个调度器,允许数据工程师为他们的ETL工作负载指定一个定期计划,并在作业成功运行或遇到问题时设置通知。

Delta Live Tables管道可以使用Databricks Jobs进行调度,从而实现对运行端到端生产就绪管道的自动化全面支持。

最终的想法

随着组织努力成为数据驱动的,数据工程是成功的焦点。为了交付可靠、值得信赖的数据,数据工程师不应该花费时间手动开发和维护端到端ETL生命周期。数据工程团队需要一种高效、可扩展的方法来简化ETL开发、提高数据可靠性和管理操作。

Delta Live Tables通过自动化和维护所有数据依赖关系来抽象管理ETL生命周期的复杂性,利用内置的质量控制和监控,并通过自动恢复提供管道操作的深度可见性。数据工程团队现在可以专注于轻松快速地构建可靠的端到端生产就绪数据管道,仅使用SQL或Python进行批处理和流处理,为分析、数据科学或机器学习交付高价值的数据。

下一个步骤

查看我们的一些资源,当你准备好了,使用下面的链接来请求访问DLT服务。

免费试用Databricks

相关的帖子

看到所有bob体育客户端下载平台的博客的帖子