The Teradata adapter plugin for dbt (data build tool)
Project description
dbt-teradata
This plugin ports dbt functionality to Teradata Vantage.
Sample profile
Here is a working example of a dbt-teradata
profile:
my-teradata-db-profile:
target: dev
outputs:
dev:
type: teradata
host: localhost
user: dbc
password: dbc
schema: dbt_test
tmode: ANSI
At a minimum, you need to specify host
, user
, password
, schema
(database), tmode
.
Optional configurations
Logmech
The logon mechanism for Teradata jobs that dbt executes can be configured with the logmech
configuration in your Teradata profile. The logmech
field can be set to: TD2
, LDAP
, KRB5
, TDNEGO
. For more information on authentication options, go to Teradata Vantage authentication documentation.
my-teradata-db-profile:
target: dev
outputs:
dev:
type: teradata
host: <host>
user: <user>
password: <password>
schema: dbt_test
tmode: ANSI
logmech: LDAP
Port
If your Teradata database runs on port different than the default (1025), you can specify a custom port in your dbt profile using port
configuration.
my-teradata-db-profile:
target: dev
outputs:
dev:
type: teradata
host: <host>
user: <user>
password: <password>
schema: dbt_test
tmode: ANSI
port: <port>
Other Teradata connection parameters
The plugin also supports the following Teradata connection parameters:
- account
- column_name
- cop
- coplast
- encryptdata
- fake_result_sets
- field_quote
- field_sep
- lob_support
- log
- logdata
- max_message_body
- partition
- sip_support
- teradata_values
For full description of the connection parameters see https://github.com/Teradata/python-driver#connection-parameters.
Supported Features
Materializations
view
table
ephemeral
incremental
Commands
All dbt commands are supported.
Custom configurations
General
- Enable view column types in docs - Teradata Vantage has a dbscontrol configuration flag called
DisableQVCI
. This flag instructs the database to createDBC.ColumnsJQV
with view column type definitions. To enable this functionality you need to:- Enable QVCI mode in Vantage. Use
dbscontrol
utility and then restart Teradata. Run these commands as a privileged user on a Teradata node:# option 551 is DisableQVCI. Setting it to false enables QVCI. dbscontrol << EOF M internal 551=false W EOF # restart Teradata tpareset –y Enable QVCI
- Instruct
dbt
to useQVCI
mode. Include the following variable in yourdbt_project.yml
:vars: use_qvci: true
For example configuration, seetest/catalog/with_qvci/dbt_project.yml
.
- Enable QVCI mode in Vantage. Use
Seeds
use_fastload
configuration will instruct the plugin to use fastload when handlingdbt seed
command. You can set this seed configuration option in yourproject.yml
file, e.g.:seeds: <project-name>: +use_fastload: true
Limitations
Transaction mode
Only ANSI transaction mode is supported.
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
Hashes for dbt_teradata-0.19.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4379e8b82f4e39b9aa432841f695e7f30cfb526f0ac7ca1144f303cf68987fe2 |
|
MD5 | ba0871a8dd0a69981e0165318af9720b |
|
BLAKE2b-256 | 15440ec6c5e4e260c5c3cde64df8d4a766d7f1d292fc3ea8e4d26143490ac3be |