首页 博客
在气流中协调ELT:调度与协调
Fivetran
首页 博客
在气流中协调ELT:调度与协调

在气流中协调ELT:调度与协调

以下是在评估Fivetran数据同步的外部调度程序时需要考虑的关键因素。

通过 尼克·阿科斯塔2021年2月17日

在Fivetran,我们已经看到许多组织成功地将我们的自动数据提取和加载工具与dbt结合在一起,以执行复杂的数据转换。然而,要在数据仓库中将转换后的、最新的和正确的数据集完全着陆,将延迟最小化可能需要复杂的时间安排和依赖层次结构。这些需求可以通过专门为编排工作流而设计的外部调度器来满足。本博客是讨论如何做到这一点的系列文章中的第一篇气流可用于现代数据堆栈中的业务流程。我们将定义调度和协调,说明它们的区别,并提供关于何时应该考虑两者的指导。

调度

Fivetran自动化了生成数据的源和存储数据的目标之间的同步。每个连接的同步频率定义了Fivetran开始将数据从源移动到目的地的时间间隔,范围从5分钟到24小时不等。同步也可以通过Fivetran的API创建细粒度的、程序化的调度。在数据仓库中,数据可以通过印度生物技术部可以在cron中指定的调度上运行的作业。

(Fivetran(左)和dbt(右)调度)

有许多特征定义了Fivetran和dbt调度,其中最有价值的是它们是简单的.Fivetran中的调度可以不通过代码来执行为每个连接器移动滑块.DBT最多只需要几行代码就可以指定应该在什么时候运行转换。

由于提取-加载-转换(英语教学)的性质,dbt转换只发生在Fivetran提取已加载到目标,使调度顺序.然而,Fivetran和dbt是独立安排的,所以它们应该何时开始可能很难。将两个任务间隔太远可能会导致延迟问题,如果它们被安排在一起,导致Fivetran和dbt任务重叠,则可能出现数据质量问题。两种情况都可以困难的规模数据管道,并可能受益于业务流程解决方案。

策划

现代应用程序是通过许多松散耦合的服务的集合构建的,这些服务会产生结果。服务的执行以及它们为实现结果而运行的顺序可以定义为工作流,并且随着服务数量的增长,组成工作流的服务之间的关系和依赖关系可能很快变得难以跟踪。这些工作流可以由另一个服务管理和运行,我们将这些服务统称为编制工具。这方面的流行例子包括气流Dagster,完善.这些工具以许多常见的方式扩展了上一节描述的调度,从而区分了调度和编排之间的区别。

(在《风流》中ELT工作流作为有向无环图)

所有的编制工具都有一些共同之处。他们是动态.由于任务被配置为代码,将额外的任务添加到现有的工作流或定义要执行的工作流是很容易的。这允许可扩展的将ELT以外的任务调度到下游任务,比如Looker(我们将在本系列的后续文章中研究涉及Fivetran、dbt和应用程序的端到端编排)。协调工作流程的执行可以是分布式.与顺序调度不同的是,编配允许明确定义任务之间的依赖关系,并在有向无环图(DAG)中进行维护和组织。一旦任务的依赖项完成,并且编制工具有可用的计算资源,它就会运行。一个任务的完成可以触发另一个或多个任务以异步和并行方式运行。

在现代数据栈中,这意味着在Fivetran完成将数据加载到仓库之前,dbt转换不会开始,从而消除了前面提到的调度中可能出现的延迟和数据质量问题。这些工具也是健壮的像调度,功能是内置的,以确保和维护等幂,但通过一个单一的玻璃窗格进行维护,以监视所有任务的执行、状态和日志,这些任务可能使用编制工具组成工作流。

更多消息:Fivetran和风流

ELT调度发生在任务级别,简单而连续,但可能无法伸缩。协调ELT发生在工作流级别,并生成动态、可扩展、分布式和健壮的DAG,但不是轻量级的。

本系列的下一篇文章将展示如何通过Fivetran的API在气流中触发和管理Fivetran同步。

您目前正在使用气流来编排您的现代数据堆栈吗?如果是,请联系Fivetran的开发人员关系团队devrel@www.miaplace.com。

在几分钟内开始分析你的数据,而不是几个月

立即启动任何Fivetran连接器。