跳转到主要内容

dbt(数据构建工具)的官方vertica适配器插件

项目描述

dbt-vertica

PyPI version License

dbt适配器,用于Vertica。适配器使用vertica-python连接到您的Vertica数据库。

有关使用dbt与Vertica的更多信息,请参阅Vertica-Setup配置页面。

dbt-vertica已测试版本

dbt-vertica已使用以下软件和版本开发

  • Vertica服务器 23.4.0-0
  • Python 3.11
  • vertica-python客户端 1.3.1
  • dbt-core 1.6.0
  • dbt-tests-adapter 1.6.0

支持的功能

dbt核心功能

以下表格显示了当前Vertica适配器为dbt支持的功能。这些功能会随着dbt添加新功能以及dbt-vertica驱动程序的改进而不断改进和变化。此列表基于dbt 1.3.0

dbt核心功能 支持
表物化
临时物化
视图物化
增量物化 - 追加
增量物化 - 合并
增量物化 - 删除+插入
增量物化 - 插入_覆盖
快照 - 时间戳
快照 - 检查列
种子
测试
文档
外部表 未测试
  • - 支持,并且测试通过。
  • - 不支持或未实现。
  • 未测试 - 可能开箱即用支持,但尚未测试。
  • 通过测试 - 测试已通过,但尚未在类似生产的环境中测试。

安装

$ pip install dbt-vertica

您不需要单独安装dbt。安装dbt-vertica也将安装dbt-corevertica-python

示例配置文件

your-profile:
  outputs:
    dev:
      type: vertica # Don't change this!
      host: [hostname]
      port: [port] # or your custom port (optional)
      username: [your username] 
      password: [your password] 
      database: [database name] 
      oauth_access_token: [access token]
      schema: [dbt schema] 
      connection_load_balance: True
      backup_server_node: [list of backup hostnames or IPs]
      retries: [1 or more]
      threads: [1 or more] 
  target: dev

配置文件字段描述

属性 描述 必需? 默认值 示例
type 要使用的特定适配器。 vertica
host Vertica服务器中任何活动节点的计算机名或IP地址。 127.0.0.1
port 要使用的端口,默认或自定义。 5433 5433
username 用于连接服务器的用户名。 dbadmin
password 用于验证服务器的密码。 my_password
database 在服务器上运行的数据库名。 my_db
oauth_access_token 要通过OAuth进行验证,请提供授权用户访问数据库的OAuth访问令牌。 "" 默认值: ""
schema 要构建模型的模式。 VMart
connection_load_balance 一个布尔值,表示是否可以将连接重定向到数据库中的除主机以外的其他主机。 true true
backup_server_node 当在连接中指定的主主机(主机、端口)不可达时连接到的主机列表。列表中的每个项应该是主机字符串(使用默认端口5433)或(主机、端口)元组。主机可以是主机名或IP地址。 ['123.123.123.123','www.abc.com',('123.123.123.124',5433)]
retries 在连接失败后的重试次数。 2 3
threads dbt项目将运行的线程数。 1 3
label 用于识别连接的会话标签。 自动生成的标签,格式为:dbt_username dbt_dbadmin

有关Vertica连接属性的更多信息,请参阅Vertica-Python连接属性。

更新日志

请参阅更新日志

贡献指南

有bug或想法?请参阅CONTRIBUTING.md以获取详细信息

开发

运行本地Vertica实例,例如

docker run -p 5433:5433 \
           -p 5444:5444 \
           -e VERTICA_DB_NAME=docker \
           -e VMART_ETL_SCRIPT="" \
           -e VMART_ETL_SQL="" \
           vertica/vertica-ce

访问本地Vertica实例,例如

docker exec -it <docker_image_name> /opt/vertica/bin/vsql

您需要pytest dbt适配器

pip3 install  dbt-tests-adapter==1.5.0

通过以下方式运行测试

pytest tests/functional/adapter/
# run an individual test 
pytest tests/functional/adapter/test_basic.py

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

dbt-vertica-1.7.3.tar.gz (31.7 kB 查看散列值)

上传于

构建版本

dbt_vertica-1.7.3-py3-none-any.whl (46.3 kB 查看哈希值)

上传于 Python 3

由以下支持