Skip to main content

The vertica adapter plugin for dbt (data build tool)

Project description

dbt-vertica

Your dbt adapter for Vertica.

Built on dbt 0.21.0

Uses vertica-python to connect to Vertica database.

Changes

0.21.0

  • Add unique_field property on connection.

0.20.2

  • Added SSL options.

0.20.1

  • Added the required changes from dbt 0.19.0. Details found here.
  • Added support for the MERGE command for incremental loading isntead of DELETE+INSERT

Install

pip install dbt-vertica

You don't need to install dbt separately. Installing dbt-vertica will also install dbt-core and vertica-python.

Sample Profile Configuration

your-profile:
  outputs:
    dev:
      type: vertica # Don't change this!
      host: vertica-host-name
      port: 5433 # or your custom port (optional)
      username: your-username
      password: your-password
      database: vertica-database-name
      schema: your-default-schema
  target: dev

By default, dbt-vertica will request ConnectionLoadBalance=true (which is generally a good thing), and set a session label of dbt_your-username.

There are three options for SSL: ssl, ssl_env_cafile, and ssl_uri. See their use in the code here.

Reach out!

First off, I would not have been able to make this adapater if the smart folks at Fishtown Analytics didn't make it so easy. That said, it seems every database has its own little quirks. I ran into several different issues when adapting the macros to Vertica. If you find something not working right, please open an issue (assuming it has to do with the adapter and not dbt itself).

Also, I would be excited to hear about anyone who is able to benefit from using dbt with Vertica. (Just open an issue to leave me a comment.)

Develop

Run a local Vertica instance like:

docker run -p 5433:5433 jbfavre/vertica:9.2.0-7_centos-7

You need the pytest dbt adapter:

pip3 install pytest-dbt-adapter==0.5.0

Run tests via:

pytest tests/integration.dbtspec
# run an individual test with increased logging:
pytest tests/integration.dbtspec::test_dbt_base -xs --ff

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt-vertica-0.21.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

dbt_vertica-0.21.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file dbt-vertica-0.21.1.tar.gz.

File metadata

  • Download URL: dbt-vertica-0.21.1.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for dbt-vertica-0.21.1.tar.gz
Algorithm Hash digest
SHA256 4bfb7f7cd0425203a6e5cd832f2300f7213fa2e5e296bc5bc30321b5ef58d893
MD5 8341407b3e3e9eaf38b02e632705eb92
BLAKE2b-256 2dd7689436be306dbc7bb4f514bcfd697c6a2dce722048829727516b93d87704

See more details on using hashes here.

Provenance

File details

Details for the file dbt_vertica-0.21.1-py3-none-any.whl.

File metadata

  • Download URL: dbt_vertica-0.21.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for dbt_vertica-0.21.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6fb22582d88365d06e96c3227399ad3c39e9332963a80280a0b70600503c7e2c
MD5 491f096d5d16c37b3d7f071fbb7d6cef
BLAKE2b-256 1df1cf2673c1eff8d6d7c69302221e6f22c7cccab3765f7281ef142be391058e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page