構建一個dbt 數據庫適配器

腳手架新的適配器

首先,將odbc適配器模板複製到同一目錄中的新文件。
更新dbt / adapters / factory.py以將新適配器包含爲類型。還要將類型添加到dbt / contracts / connection.py,
並添加一個定義適配器配置文件外觀的約定。git

實現適配器功能

在適配器模板中,找到許多應該實現的功能,以使大多數適配器功能正常工做。最關鍵的是:github

  • get_odbc_connection_string,必須返回一個有效的ODBC鏈接字符串,以傳遞給pyodbc進行鏈接;
  • type:應該與您在dbt / adapters / factory.py和dbt / contracts / connection.py中使用的類型匹配,以指定新的適配器;
  • date_function:指定此數據庫用於獲取當前日期和時間的函數;
  • rename:容許適配器重命名錶和視圖;
  • quote:實現適配器的標識符引用,例如,"identifier"postgres和[identifier]sql server;
  • query_for_existing:返回指定模式中現有表和視圖的字典,其結構以下{"table_name": "table", "view_name": "view"};
  • get_existing_schemas:返回現有架構的列表
    對於其中的每個,建議您查看其餘適配器以獲取示例實現。
    在實現這些以後,可能會有一個適用於構建表和視圖的適配器,儘管可能須要對實現進行一些進一步的修改。
    實如今全局項目中定義,能夠在dbt存儲庫中的dbt / include / global_project /中找到。

參考資料

https://github.com/fishtown-analytics/dbt/tree/development/dbt/adapters
https://docs.getdbt.com/docs/building-new-database-adapters
https://docs.getdbt.com/docs/creating-new-materializations
https://github.com/fishtown-analytics/dbt/blob/adapter/azure-dw/dbt/adapters/odbc_adapter_template.pysql

相關文章
相關標籤/搜索