脚手架新的适配器

首先,将odbc适配器模板复制到同一目录中的新文件。
更新dbt / adapters / factory.py以将新适配器包含为类型。还要将类型添加到dbt / contracts / connection.py,
并添加一个定义适配器配置文件外观的约定。

实现适配器功能

在适配器模板中,找到许多应该实现的功能,以使大多数适配器功能正常工作。最关键的是:

  • 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.py

 
 
 
 

构建一个dbt 数据库适配器的更多相关文章

  1. jmeter 构建一个数据库测试计划

    添加用户 第一步你想做的每一个JMeter测试计划是添加一个 线程组 元素. 的线程组 告诉JMeter的用户数量你想模拟,用户应该多长时间 发送请求,他们应该发送的请求的数量. 继续添加Thread ...

  2. .Net中的AOP系列之构建一个汽车租赁应用

    返回<.Net中的AOP>系列学习总目录 本篇目录 开始一个新项目 没有AOP的生活 变更的代价 使用AOP重构 本系列的源码本人已托管于Coding上:点击查看. 本系列的实验环境:VS ...

  3. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  4. 从零构建一个简单的 Python Web框架

    为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何 ...

  5. 怎样打造一个分布式数据库——rocksDB, raft, mvcc,本质上是为了解决跨数据中心的复制

    摘自:http://www.infoq.com/cn/articles/how-to-build-a-distributed-database?utm_campaign=rightbar_v2& ...

  6. 抛弃EF,20分构建一个属于自己的ORM框架

    Poiuyt_cyc 博客园首页新随笔联系订阅管理随笔 - 11  文章 - 0  评论 - 111 抛弃EF,20分构建一个属于自己的ORM框架 相信EF大家都不陌生了,因为数据库表跟程序实体是一一 ...

  7. 15一个NoSql数据库

    随着因特网web2.0该网站的兴起.非关系型数据库,现在已经成为一个非常受欢迎的新领域.非关系数据库产品的发展非常迅速.而在处理传统的关系数据库web2.0现场.特别是大规模,高并发SNS类型web2 ...

  8. NHibernate构建一个ASP.NET MVC应用程序

    NHibernate构建一个ASP.NET MVC应用程序 什么是Nhibernate? NHibernate是一个面向.NET环境的对象/关系数据库映射工具.对象/关系数据库映射(object/re ...

  9. 从零开始构建一个的asp.net Core 项目

    最近突发奇想,想从零开始构建一个Core的MVC项目,于是开始了构建过程. 首先我们添加一个空的CORE下的MVC项目,创建完成之后我们运行一下(Ctrl +F5).我们会在页面上看到"He ...

随机推荐

  1. IDEA设置类、方法注释模板

    类注释模板 File -> Other Setting -> Default Setting打开默认设置 Editor -> File and Code Templates -> ...

  2. Mysql批量导入约束报错

    SET foreign_key_checks = 0;   禁用外键,在文件顶部加 SOURCE dump_file_name;      进行SQL执行 SET foreign_key_checks ...

  3. 『TensorFlow』项目资源分享

    TF中文社区 TF_GOOGLE官方代码学习 1.TensorFlow-Slim TF-Slim 是 tensorflow 较新版本的扩充包,可以简化繁杂的网络定义,其中也提供了一些demo: Ale ...

  4. Sql Server中集合的操作(并集、差集、交集)学习

    首先我们做一下测试数据 1.创建测试数据 --创建人员表1-- create table Person1 ( Uid ,) primary key, Name ) not null ) --创建人员表 ...

  5. jsp 简单标签开发

    实现simpleTag接口的标签通常称为是简单标签,简单标签一共定义了5个方法 setJspContext方法 setParent方法 getParent方法 setJspBody方法 doTag方法 ...

  6. linux processes identifiers

    Linux, like all Unix uses user and group identifiers to check for access rights to files and images ...

  7. linux shard virtual memory

  8. SQL Server 调优系列基础篇 - 性能调优介绍

    前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优. 通过 ...

  9. 抓取错误之onerror

    一处定义,可以抓取全局的错误,相当于一个全局的try catch呀. <html> <head> <script type="text/javascript&q ...

  10. 0121 集合类 ArrayList 的练习

    集合接口的常用方法: 1.List接口 public class Jihe { public static void main(String[] args) { ArrayList<String ...