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.23.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

odd_dbt-0.1.23-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odd_dbt-0.1.23.tar.gz
  • Upload date:
  • Size: 14.5 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.23.tar.gz
Algorithm Hash digest
SHA256 4b8f3f51ad37a6b65a9d6dead27103eebe109bb0e41c1abe9432ab2bc9ef496b
MD5 81cb570306c7637c697ca8fc1a8ae65b
BLAKE2b-256 9db56403f20c3673b8bf280ead9211f62faa545ab8b2d794dca717d5839807ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odd_dbt-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 17.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.23-py3-none-any.whl
Algorithm Hash digest
SHA256 79b3f2abfcdb100f58ee57e5dc047fd15f73058081411453b1afc41470261652
MD5 83cb513e00c18cf63c5dc76e789f8e1b
BLAKE2b-256 6a05029b3f591961b889d7521ed5d0ed5fc5366a6b96c8964fe573bc8261b644

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