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.
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
user: 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 |
| user | 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.
Metadata
Release files for dbt-ibmdb2 1.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dbt_ibmdb2-1.8.0.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dbt_ibmdb2-1.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.4 kB
Release files / dbt_ibmdb2-1.8.0.tar.gz
| Download URL | dbt_ibmdb2-1.8.0.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22e34cfbb8fe2b0348caf4f2e4ab2df9d09dd14d9c03c542e17ddcb2f5cec82d
|
|
BLAKE2b-256 checksum How to use checksums |
213248c0a954a62070ab5059f1e06e554238cfb7d03a3aadb6cf1682e4baf012
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.9.19 Linux/6.5.0-1021-azure
|
Release files / dbt_ibmdb2-1.8.0-py3-none-any.whl
| Download URL | dbt_ibmdb2-1.8.0-py3-none-any.whl |
|---|---|
| Size | 23.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f220e70b014c3ea0b17f60ca6aeb3c134973944f380740c808305b5ce14ef856
|
|
BLAKE2b-256 checksum How to use checksums |
adaa56d1cab48a5630ce03c94aff6851c149304223ba9025105cf7f5afde2aa9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.9.19 Linux/6.5.0-1021-azure
|