【问题标题】:Dbt labs access remote Postgres DB server using db linkdbt labs 使用 db 链接访问远程 Postgres 数据库服务器
【发布时间】:2022-06-17 04:33:17
【问题描述】:

我是 DBT 的新手。我知道一旦原始数据在您的 DWH 中可用,DBT 将用于转换数据。但是,我试图查看是否有人使用 DBT 使用选择语句中的 DB 链接从远程数据库服务器将数据初始选择/导入到暂存表中,其中暂存数据库服务器和远程数据库服务器都是 Postgres 数据库。 同样在我的情况下,数据量并不多。

【问题讨论】:

  • 真正的问题是什么?我不认为您只是在寻找“是”或“否”。
  • 当然,由于 DBT 不是 EL 工具,我试图找出是否可以使用 DB 链接从 1 个数据库服务器中选择数据并将其加载到另一个数据库服务器的临时表中。如果可能的话,我还在寻找有关如何设置它的任何指针/文档/链接,因为我没有在网上找到任何参考资料。如果没有,我可以先寻找替代方法来移植数据,然后才能开始使用 DBT 对其进行转换。

标签: postgresql dbt


【解决方案1】:

我能够进行一些测试,看起来这是可行的。 以下是设置:

  1. profiles.yml 文件指向目标数据库服务器。
  2. 以下是模型 targetTable.sql 文件中使用的查询。
{{ config(materialized='table') }}

SELECT i.col1,
        i.col2
        FROM dblink('dbname=sourceDBName port=portNo hostaddr=sourceHostName user=userID password=****', 
                                'SELECT 
                                a.col1, 
                                a.col2
                                from 
                                (SELECT 
                                    col1,col2
                                 FROM 
                                    public.tableName) a
                                ') 
                i (col1 integer, col2 varchar(20))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2012-06-22
    相关资源
    最近更新 更多