详细内容或原文请订阅后点击阅览
我认为加载数据就是终点线。这是起点。
构建我的第一个 dbt 模型并了解“分析就绪”数据的实际含义我认为加载数据是终点线。这是起点。首先出现在《走向数据科学》上。
来源:走向数据科学,我给自己制定了一个从数据分析师到数据工程师的 12 个月路线图。我才刚入手两个月左右。在这段短暂的时间内,我已经从头开始构建了两个 ETL 管道,第一个将 GitHub 存储库数据拉入 SQLite,第二个将 RSS 文章拉入 PostgreSQL,并使用 Docker 和 Kestra 处理编排。我写过关于安排第二条管道每小时自动运行的文章,当时,这感觉像是一个真正的里程碑。数据自行流入,无需手动运行,我也不会记得触发任何东西。
但在写那篇文章和开始这篇文章之间,我对自己的数据进行了查询并意识到了一些事情。我无法按日期正确排序我的文章。我不知道哪些博客发布的内容最多。这些数据已经在 Postgres 中保存了数周,从技术上来说是“加载”的,直到我需要它来做某事之前,我实际上并没有仔细查看过它。
结果我构建了两个管道并跳过了使数据有用的部分。提取、加载,然后什么都没有。没有转换,没有建模,没有超越“现在在表格中”的真实结构。
本文就是要解决这个问题。我终于坐下来学习了 dbt,并在这个过程中了解了“分析就绪”的实际含义,因为事实证明加载数据和拥有可用数据是两个截然不同的事情。
数据已加载。它只是不可用。
这是我停下来并注意后我的文章表的实际样子。
模式本身很简单,老实说就像表格一样简单:
如果不存在则创建表文章 (
id 文本主键,
标题文本不为空,
