Skip to main content

OpenDataDiscovery Action for dbt

Project description

OpenDataDiscovery dbt tests metadata collecting

PyPI version

CLI tool helps automatically parse and ingest DBT test results to OpenDataDiscovery Platform. It can be used as separated CLI tool or within ODD CLI package which provides some useful additional features.

Installation

pip install odd-dbt

Command options

╭─ Options ─────────────────────────────────────────────────────────────╮
│    --project-dir                 PATH  [default: Path().cwd()odd-dbt] │
│    --target                      TEXT  [default:None]                 │
│    --profile-name                TEXT  [default:None]                 │
│ *  --host    -h                  TEXT  [env var: ODD_PLATFORM_HOST]   │
│ *  --token   -t                  TEXT  [env var: ODD_PLATFORM_TOKEN]  │
│    --dbt-host                    TEXT  [default: localhost]           │
│    --help                              Show this message and exit.    │
╰───────────────────────────────────────────────────────────────────────╯

Command run example

How to create collector token?

odd_dbt_test --host http://localhost:8080 --token <COLLECTOR_TOKEN>

Supported data sources

Source
Snowflake 1.4.1
Redshift 1.4.0
Postgres 1.4.5
MSSQL

Requirements

Library to inject Quality Tests entities requires presence of corresponding with them datasets entities in the platform. For example: if you want to inject data quality test of Snowflake table, you need to have entity of that table present in the platform.

Supported tests

Library supports for basics tests provided by dbt.

  • unique: values in the column should be unique
  • not_null: values in the column should not contain null values
  • accepted_values: column should only contain values from list specified in the test config
  • relationships: each value in the select column of the model exists as a specified field in the reference table (also known as referential integrity)

ODDRN generation for datasets

host_settings of ODDRN generators required for source datasets are loaded from .dbt/profiles.yml.

Profiles inside the file looks different for each type of data source.

Snowflake host_settings value is created from field account. Field value should be <account_identifier> For example the URL for an account uses the following format: <account_identifier>.snowflakecomputing.com Example Snowflake account identifier hj1234.eu-central-1.

Redshift and Postgres host_settings are loaded from field host field.

Example Redshift host: redshift-cluster-example.123456789.eu-central-1.redshift.amazonaws.com

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

odd_dbt-0.1.18.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

odd_dbt-0.1.18-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file odd_dbt-0.1.18.tar.gz.

File metadata

  • Download URL: odd_dbt-0.1.18.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.1 Linux/5.15.0-1041-azure

File hashes

Hashes for odd_dbt-0.1.18.tar.gz
Algorithm Hash digest
SHA256 51e4ae5587441aab6727d79e554e40ef78c979c99ed2ca4d176b4bb2b8bfeb8b
MD5 6e20f78f3dbc4090b4f21a859c283584
BLAKE2b-256 a068e62dd088e09fb12139aabc43d9806530332a8983e2bbbba3f83bf17c78bc

See more details on using hashes here.

File details

Details for the file odd_dbt-0.1.18-py3-none-any.whl.

File metadata

  • Download URL: odd_dbt-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.1 Linux/5.15.0-1041-azure

File hashes

Hashes for odd_dbt-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 12528cafb6dddb7a515e8b663510224f4d53d2c2ea2c5f9a21dbb392e61f06c5
MD5 77e068a570424134c6b7eeaf02bcf7da
BLAKE2b-256 2d92b3e0eb3fd13cecea584b2027bf80b93d0e0c39bf548d3c3dbf0f63dd9360

See more details on using hashes here.

Supported by

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