dbt 自定义AdapterPlugin 中dependencies 简单说明

结合dbt-redshift 的对于dependencies 部分的定义以及使用简单说明下

参考代码

Plugin: AdapterPlugin = AdapterPlugin(
    adapter=RedshiftAdapter,  # type: ignore
    credentials=RedshiftCredentials,
    include_path=redshift.PACKAGE_PATH,
    dependencies=["postgres"],
)

作用以及使用

  • 作用

这个实际上就是一个声明,我们依赖dbt-postgres 这个adapter 的一些信息,同时对于adapter dispatch 的查找也会使用到

  • 使用

redshift 中核心是使用了一些dbt-postgres adapter 的macro ,如下,核心是复用一些能力,目前dbt-redshift 主要是macro 的复用

说明

实际上dependencies 就是一个标记,说明我们开发的adapter 依赖其他adapter 一些能力(可能是macro, 也可能是adapter 的一些实现类,比如dbt-synapse 依赖dbt-fabric)

参考资料

dbt/adapters/redshift/init.py

posted on 2024-05-01 08:39  荣锋亮  阅读(3)  评论(0编辑  收藏  举报

导航