Chevron Left

查看所有社区故事

使用 dbt、Materialize 和 Metabase 管理流式分析管道

2025年2月14日

作者

Marta Paes

Materialize

photo of Marta Paes

Marta 是 Materialize 的高级 DevEx 工程师,Materialize 是一家致力于让实时数据构建变得尽可能简单的公司。在投身流系统和开发者体验领域之前,她曾担任数据仓库工程师 4 年多。您可以在 Twitter 上通过 @morsapaes 联系到她。

在之前的博文中,我们介绍了如何使用 Materialize 和 Metabase 构建流式分析管道。简单来说,就是您可以对流式数据源编写一些 SQL,让 Materialize 在新数据到达时高效地维护结果的最新状态,并保持仪表板轻量且实时。这次,我们将探讨如何使用 dbt 来端到端地管理和记录此工作流。

使用 dbt 转换流式数据

尽管您希望分析不停歇地运行,但可能不希望放弃那些让您在批量处理中保持高效的工具。如果您能使用完全相同的工具来管理流式分析管道,那会怎么样?虽然 dbt 是为批量处理而设计的,但它作为一种统一的转换层,足够灵活,可以覆盖批量和流式后端;只要后端是基于 SQL 的,底层运行的内容就成为一个实现细节。

我们构建了 dbt-materialize 适配器,为 dbt 带来流式转换(及更多)。如果这看起来很熟悉……


 {{ config(
    materialized ='materializedview'
) }}
SELECT fi.icao24,
       manufacturername,
       model,
       operator,
       origin_country,
       time_position,
       longitude,
       latitude
FROM {{ ref('stg_flight_information') }} fi
JOIN {{ ref('stg_icao_mapping') }} icao ON fi.icao24 = icao.icao24

……就这么多:您使用 SQL 和一些 Jinja 将业务逻辑定义为 dbt 模型,部署管道(一次),然后 Materialize 会为您保持运行。对于那些否则需要您每天多次重新部署模型($$)来处理复杂增量逻辑并做出一些严重的权衡以优化速度(例如正确性)的用例,使用像 Materialize 这样的专用流数据库 可以更快地取得更大的进展

记录流式分析管道

dbt 不仅标准化了我们思考和管理分析工作流的方式,还让文档再次变得流行(好吧,它以前真的流行过吗?)。通过一些 YAML 文件,您可以为流式管道引入数据治理,加快数据发现和血缘关系等关键流程,甚至 确保您的指标保持稳定。如果趋势是将被 dbt 项目视为业务逻辑和文档的真相来源,那么您的 BI 工具不应该……同步吗?

如何同步 dbt 和 Metabase

如果您想让 dbt 和 Metabase 更紧密地结合,dbt-metabase 插件 是一个很好的起点。例如,您可以使用它来

将 Metabase 项目记录为 dbt 暴露

要深入了解 dbt 项目的端到端依赖关系,还需要能够跟踪 dbt 项目之外的依赖关系,例如 Metabase 问题和仪表板。在 DAG 中跟踪这些依赖关系的一种方法是将下游模型的使用声明为 暴露(exposures)(请注意橙色节点!),您可以使用该插件自动生成这些暴露。

a screenshot with a Metabase date picker

将 dbt 元数据传播到 Metabase 数据模型

如果您已经在 dbt 中记录了数据模型,该插件还允许您从现有的模型属性和配置中派生 Metabase 数据模型,例如表和列的描述、语义类型定义以及其他有助于创建数据生产者和消费者之间共享上下文的有益元数据。

a screenshot with a Metabase date picker

在使用 dbt 管理流式分析管道方面还有许多内容值得探索,因此如果您有兴趣动手尝试,请查看用于创建上述示例的 示例演示Materialize 文档

作者

Marta Paes

Materialize

photo of Marta Paes

Marta 是 Materialize 的高级 DevEx 工程师,Materialize 是一家致力于让实时数据构建变得尽可能简单的公司。在投身流系统和开发者体验领域之前,她曾担任数据仓库工程师 4 年多。您可以在 Twitter 上通过 @morsapaes 联系到她。

您可能也喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据提供可信的指标

Frédéric Vion

Subclic

您可能也喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据提供可信的指标

Frédéric Vion

Subclic

© . This site is unofficial and not affiliated with Metabase, Inc.