数据工程:ELT 工作流中的 6 个步骤

数据转换过程可以分为六个步骤:提取extraction和加载loading、探索exploration、转换transformation、测试testing、文档documentation和部署deployment。


数据转换是获取原始数据并从中获取意义的过程;它构成了所有分析工作的基础,并代表了数据从业者如何从他们的公司创造有形的价值。

数据转换过程通常可以分解为六个常规定义的步骤:提取和加载、探索、转换、测试、文档和部署。执行这些步骤后,原始数据将采用一种有意义的新形式,为公司的商业智能工作提供支持。

我们将使用此页面来描述典型ELT 工作流的数据转换过程。

步骤 1:提取和加载

如果您的团队遵循 ELT 工作流,其中在转换数据之前提取原始数据源并将其加载到数据仓库中,则需要在开始转换工作之前实际完成这些提取和加载步骤!

提取

在提取过程中,从与您的业务相关的多个数据源中提取数据。提取的数据大部分是团队最终希望用于分析工作的数据。数据源的一些示例可以包括:后端应用程序数据库、营销平台、电子邮件和销售 CRM 等。

这些数据通常是通过自定义脚本与应用程序编程接口(API)交互,或者依靠使用开源或软件即服务(SaaS)ETL工具来消除一些技术提升,从而从其系统中提取的。

加载

在加载阶段,提取的数据将加载到目标数据仓库中。现代数据仓库的一些示例包括Snowflake,Amazon Redshift和Google BigQuery。其他数据存储平台的例子包括数据湖,如Databricks的数据湖。大多数从数据源中提取数据的 SaaS 应用程序也会将其加载到目标数据仓库中。自定义或内部提取和加载过程通常需要强大的数据工程和技术技能。

第 2 步:数据探索

原始数据进入数据仓库后,就该了解这些数据的外观了。在此阶段,您会发现自己:

查看可用的 ERD(实体关系图)和连接键,以了解数据如何将自身连接在一起

确定哪些列可能缺少值或具有误导性列名称

编写即席查询以对数据执行一些简单的分析或汇总统计信息 - 有多少行?主键是唯一的吗?有主键吗?

了解不同数据源的货币、时区和数据类型有何不同

如何探索原始数据没有完美的方法;执行数据源需要的操作。如果您对原始数据的准确性和完整性有很高的信心,那么与质疑数据的完整性相比,此步骤可能会变得不那么费力(如果您是数据从业者,这可能是您的自然倾向😉)。

步骤三:数据转换

在实际的转换步骤中,已加载到数据仓库中的原始数据,您熟悉该数据的结构,并且您有一个关于如何处理它的大致计划 - 它终于准备好开始您的建模过程了!当您在数据探索阶段首次查看此数据时,您可能已经注意到了一些有关它的事情......

列名称可能清晰,也可能不清晰

表未联接到其他表

时间戳可能采用不正确的报告时区

JSON资源丰富,可能需要解嵌套

表可能缺少主键

...因此需要转型!在实际转换过程中,数据源中的数据通常是:

轻度转换:正确转换字段、统一时间戳字段的时区、适当重命名表和字段等。在 dbt 中,这通常发生在用于为数据创建干净、统一的石板的暂存模型中

大量转换:添加业务逻辑,建立适当的具体化,将数据连接在一起,创建聚合和指标等。在 dbt 中,这通常发生在中间模型和市场模型中,创建最终向最终用户和商业智能 (BI) 工具公开的表。

转换数据的常见方法包括利用 dbt 等现代技术使用 SQL 和 Python 编写模块化和版本控制的转换。其他解决方案包括编写自定义 SQL 和 Python 脚本,这些脚本由某种类型的调度程序自动执行或利用存储过程。

第 4 步:数据测试

您的数据现在已建模,感觉大致正确,但如何确认转换后数据的质量?您如何确保向下游用户公开的关键指标和数据值得信赖和可靠?

在此阶段,应执行符合组织标准的数据测试。这可能看起来像:

测试主键的唯一性和非空性

确保列值在预期范围内

检查模型关系阵容

等等。

使用 dbt 等产品(您可以在其中定义基于代码的测试以针对数据转换运行),您可以创建一个系统,在该系统中,您可以根据您建立的标准轻松且定期地测试转换。

第 5 步:数据文档

您的数据将转换为有意义的业务实体,根据您的标准进行测试,并向最终用户公开。您期望那些没有直接参与转型过程的人如何浏览它们?您正在创建哪些文档来阐明转换中的业务逻辑并描述核心指标和列?

在这个阶段,转型已经完成,但在某种程度上,工作才刚刚开始。为了使数据转换对最终用户有意义且有影响力,创建和维护可靠的文档非常重要。

我们建议您在转换过程中首先记录以下内容:

转换或数据模型的主要用途 - 创建此转换的主要原因是什么?它为您的 BI 工具提供了哪些重要的报告支持?

在其中实现了业务逻辑或列名称不明确的键列

聚合和指标

数据转换过程的文档通常应该以未参与原始过程的人员可以理解的方式编写,而不是专注于如何为更多技术用户进行转换。精心编写的转换文档欢迎业务用户参与分析工作,并且是确保您的最终用户感到舒适并有权使用团队努力构建的数据的基本方法。

步骤 6:部署:计划和自动化

您的数据转换已创建、测试和记录,现在是时候将它们推向世界了。在此阶段,数据工程师、数据分析师或分析工程师会将这些转换推向生产环境,即在数据仓库的生产环境中运行它们的过程。这些生产就绪表是分析师将查询进行分析的内容,也是 BI 工具将读取的内容。

需要使用某种类型的计划程序或业务流程协调程序,以满足业务需求的节奏刷新或更新这些数据转换。使用 dbt Cloud 等产品,您可以在协作集成开发环境 (IDE) 中创建数据转换和测试,然后使用 dbt Cloud 作业计划程序定期运行它们。通常需要更多技术提升的其他解决方案包括依赖自定义 cron 计划程序或外部业务流程协调程序。

开始运行!

构建基础数据转换后,您的重点可能会转移到优化、治理和民主化工作上;对于所需的每个新数据源、业务问题或实体,总会有更多的数据转换工作需要完成。因此,一个好的数据转换过程既严格又灵活 - 该过程允许足够的护栏,使分析工作有价值和有条理,有足够的空间来有趣、具有挑战性和针对您的业务进行定制。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容