The db2 adapter plugin for dbt (data build tool)
Project description
dbt-ibmdb2
This plugin ports dbt functionality to IBM DB2.
This is an experimental plugin:
- We have not tested it extensively
- Only basic tests are implemented
- Compatibility with other dbt packages (like dbt_utils) is only partially tested
Please read these docs carefully and use at your own risk. Issues welcome!
Table of Contents
Installation
This plugin can be installed via pip:
$ pip install dbt-ibmdb2
Supported features
DB2 LUW | DB2 z/OS | Feature |
---|---|---|
✅ | 🤷 | Table materialization |
✅ | 🤷 | View materialization |
✅ | 🤷 | Incremental materialization |
✅ | 🤷 | Ephemeral materialization |
✅ | 🤷 | Seeds |
✅ | 🤷 | Sources |
✅ | 🤷 | Custom data tests |
✅ | 🤷 | Docs generate |
✅ | 🤷 | Snapshots |
Notes:
- dbt-ibmdb2 is built on the ibm_db python package and there are some known encoding issues related to z/OS.
- schema and table names must be in uppercase
Configuring your profile
A dbt profile can be configured to run against DB2 using the following configuration example:
Example entry for profiles.yml:
your_profile_name:
target: dev
outputs:
dev:
type: ibmdb2
schema: analytics
database: test
host: localhost
port: 50000
protocol: TCPIP
username: my_username
password: my_password
extra_connect_opts: my_extra_config_options
Option | Description | Required? | Example |
---|---|---|---|
type | The specific adapter to use | Required | ibmdb2 |
schema | Specify the schema (database) to build models into | Required | analytics |
database | Specify the database you want to connect to | Required | testdb |
host | Hostname or IP-adress | Required | localhost |
port | The port to use | Optional | 50000 |
protocol | Protocol to use | Optional | TCPIP |
username | The username to use to connect to the server | Required | my-username |
password | The password to use for authenticating to the server | Required | my-password |
extra_connect_opts | Extra connection options | Optional | Security=SSL;SSLClientKeyStoreDB=<path-to-client-keystore>;SSLClientKeyStash=<path-to-client-keystash> |
Setup dev environment and run tests
Make sure you have docker and poetry installed globally.
make install
make test
make uninstall
Reporting bugs
Want to report a bug or request a feature? Open an issue.
Credits
dbt-ibmdb2 is heavily inspired by and borrows from dbt-mysql and dbt-oracle.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dbt-ibmdb2-0.3.1.tar.gz
.
File metadata
- Download URL: dbt-ibmdb2-0.3.1.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.1 CPython/3.10.7 Linux/5.15.0-1020-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 790c59310c46afe59bffdf6388cc9adc51b512c612ef4dcd819a6afc270ec826 |
|
MD5 | 82920334cc9d4eb836e2ed914fbaa08c |
|
BLAKE2b-256 | ac276831bf418fb2f273561fb7c244d97aee01e25e29903912da82e4228dbff8 |
File details
Details for the file dbt_ibmdb2-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: dbt_ibmdb2-0.3.1-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.1 CPython/3.10.7 Linux/5.15.0-1020-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aefe3d38bff6b66c89bc5fe073066942655aae6d2e72771cd80ceea1fe1ea4ab |
|
MD5 | 87bff316bb0910411b12bfe0cdcdfaa0 |
|
BLAKE2b-256 | d3c511dc94e6f7307d5df2b8e0b662f4d2f7f2f629d97b8ac9db2bd14b12f9af |