Skip to main content

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 login credentials using OpenID for Exasol SaaS

OpenID login through access_token or refresh_token instead of user+password

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

Model contracts

The following database constraints are implemented for Exasol:

Constraint Type Status
check NOT supported
not null enforced
unique NOT supported
primary key enforced
foreign key enforced

>=1.5 Incrmental model update

Fallback to dbt-core implementation and supporting strategies

  • append
  • merge
  • delete+insert

>=1.3 Python model not yet supported - WIP

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

Releases

GitHub Releases

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt_exasol-1.5.1.tar.gz (50.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbt_exasol-1.5.1-py3-none-any.whl (69.0 kB view details)

Uploaded Python 3

File details

Details for the file dbt_exasol-1.5.1.tar.gz.

File metadata

  • Download URL: dbt_exasol-1.5.1.tar.gz
  • Upload date:
  • Size: 50.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Darwin/23.0.0

File hashes

Hashes for dbt_exasol-1.5.1.tar.gz
Algorithm Hash digest
SHA256 e7324129748a59018528894101db6b5d8dc76808f79df6bd969484a9b93eaef7
MD5 60a026d297dc7e3de893e74e33924680
BLAKE2b-256 94ff807e29a05bee9a1653a02a7912f084f1c0cf7fffb08a6345a6ef67d2817a

See more details on using hashes here.

File details

Details for the file dbt_exasol-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: dbt_exasol-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 69.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Darwin/23.0.0

File hashes

Hashes for dbt_exasol-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 02d015f7d13235397ea32ad1591e9ab0ad9b0f6694a7efa9773547e6926da151
MD5 f4ef66ac27ce58e4574bd7ec7fda23fb
BLAKE2b-256 de2c04e4f223059b6d1d5247d590410447595421d08c0f31bfc60084caa9b1aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page