IBM Netezza setup
The dbt-ibm-netezza adapter allows you to use dbt to transform and manage data on IBM Netezza, leveraging its distributed SQL query engine capabilities. Before proceeding, ensure you have the following:
- An active IBM Netezza engine with connection details (host, port, database, schema, etc) in SaaS/PaaS.
- Authentication credentials: Username and password.
Refer to Configuring dbt-ibm-netezza for guidance on obtaining and organizing these details.
- Maintained by: IBM
- Authors: Abhishek Jog, Sagar Soni, Ayush Mehrotra
- GitHub repo: IBM/nz-dbt
- PyPI package:
dbt-ibm-netezza
- Slack channel:
- Supported dbt Core version: v1.9.2 and newer
- dbt Cloud support: Not Supported
- Minimum data platform version: 11.2.3.4
Installing dbt-ibm-netezza
Use pip
to install the adapter. Before 1.8, installing the adapter would automatically install dbt-core
and any additional dependencies. Beginning in 1.8, installing an adapter does not automatically install dbt-core
. This is because adapters and dbt Core versions have been decoupled from each other so we no longer want to overwrite existing dbt-core installations.
Use the following command for installation:
Configuring dbt-ibm-netezza
For IBM Netezza-specific configuration, please refer to IBM Netezza configs.
Connecting to IBM Netezza
To connect dbt with IBM Netezza, you need to configure a profile in your profiles.yml
file located in the .dbt/
directory of your home folder. The following is an example configuration for connecting to IBM Netezza instances:
my_project:
outputs:
dev:
type: netezza
user: [user]
password: [password]
host: [hostname]
database: [catalog name]
schema: [schema name]
port: 5480
threads: [1 or more]
target: dev
Setup external table options
You also need to configure the et_options.yml
file located in your project directory. Make sure the file is correctly setup before running the dbt seed
. This ensures that data is inserted into your tables accurately as specified in the external data file.
- !ETOptions
SkipRows: "1"
Delimiter: "','"
DateDelim: "'-'"
MaxErrors: " 0 "
Refer the Netezza external tables option summary for more options in the file.
Host parameters
The following profile fields are required to configure IBM Netezza connections.
Option | Required/Optional | Description | Example |
---|---|---|---|
user | Required | Username or email address for authentication. | user |
password | Required | Password or API key for authentication | password |
host | Required | Hostname for connecting to Presto. | 127.0.0.1 |
database | Required | The catalog name in your Presto instance. | Analytics |
schema | Required | The schema name within your Presto instance catalog. | my_schema |
port | Required | The port for connecting to Presto. | 443 |
Schemas and databases
When selecting the catalog and the schema, make sure the user has read and write access to both. This selection does not limit your ability to query the catalog. Instead, they serve as the default location for where tables and views are materialized.
Notes:
The dbt-ibm-netezza
adapter is built on the IBM Netezza Python driver - nzpy and is a pre-requisite which gets installed along with the adapter.