Adapter to dbt-core for warehouse Exasol
Project description
dbt-exasol
dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.
Please see the dbt documentation on Exasol setup for more information on how to start using the Exasol adapter.
Current profile.yml settings
dbt-exasol:
target: dev
outputs:
dev:
type: exasol
threads: 1
dsn: HOST:PORT
user: USERNAME
password: PASSWORD
dbname: db
schema: SCHEMA
Optional parameters
- connection_timeout: defaults to pyexasol default
- socket_timeout: defaults to pyexasol default
- query_timeout: defaults to pyexasol default
- compression: default: False
- encryption: default: False
- protocol_version: default: v3
- row_separator: default: CRLF for windows - LF otherwise
- timestamp_format: default: YYYY-MM-DDTHH:MI:SS.FF6
Known isues
Breaking changes with release 1.2.2
- Timestamp format defaults to YYYY-MM-DDTHH:MI:SS.FF6
SQL functions compatibility
split_part
There is no equivalent SQL function in Exasol for split_part.
listagg part_num
The SQL function listagg in Exasol does not support the num_part parameter.
Utilities shim package
In order to support packages like dbt-utils and dbt-audit-helper, we needed to create the shim package exasol-utils. In this shim package we need to adapt to parts of the SQL functionality that is not compatible with Exasol - e.g. when 'final' is being used which is a keyword in Exasol. Please visit Adaopter dispatch documentation of dbt-labs for more information.
Reporting bugs and contributing code
- Please report bugs using the issues
Release History
Release 1.2.2
- Added timestamp format parameter in profile.yml parameter file to set Exasol session parameter NLS_TIMESTAMP_FORMAT when opening a connection. Defaults to 'YYYY-MM-DDTHH:MI:SS.FF6'
- Adding row_separator (LF/CRLF) parameter in profile.yml parameter file to be used in seed csv import. Defaults to operating system default (os.linesep in python).
- bugfix #36 regarding column quotes and case sensitivity of column names.
- bugfix #42 regarding datatype change when using snapshot materialization. Added modify column statement in exasol__alter_column_type macro
- bugfix #17 number format datatype
- issue #24 - dbt-core v1.2.0 compatibility finished
Release 1.2.0
- support for invalidate_hard_deletes option in snapshots added by jups23
- added persist_docs support by sti0
- added additional configuration keys that can be included in profiles.yml by johannes-becker-otto
- added cross-database macros introduced in 1.2 by sti0
- added support for connection retries by sti0
- added support for grants by sti0
- added pytest functional adapter tests by tglunde
- tox testing for python 3.7.2 through 3.10 added by tglunde
Release 1.0.0
- pyexasol HTTP import csv feature implemented. Optimal performance and compatibility with Exasol CSV parsing
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_exasol-1.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20055c4234e11cb1efded7dd3fd7289226d18c35c3de507af6c1f2e67e40c286 |
|
MD5 | 329158b5f522b113b89e9922a51fbc15 |
|
BLAKE2b-256 | 96e258df02ba86f3e91de6e06dad069576e4e1d3f40e0da4a2f362d396916d38 |