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

Uploaded Source

Built Distribution

odd_dbt-0.1.19-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odd_dbt-0.1.19.tar.gz
  • Upload date:
  • Size: 14.0 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.19.tar.gz
Algorithm Hash digest
SHA256 f4edf00aca0d1a3bae3482b5fa27dd25d1e3fd8e31f262691db4870814ae7043
MD5 cde4539d34cdbddadc9b353fa966af66
BLAKE2b-256 89adfb1eecdb4c31aa865582022af2dbecb20c31767e2e6e964e940e3b81ff4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odd_dbt-0.1.19-py3-none-any.whl
  • Upload date:
  • Size: 16.4 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.19-py3-none-any.whl
Algorithm Hash digest
SHA256 2b43b8e0e00fbf0f230acd39e7e48473f0be3da82202c5c3205c6cc39f8ec0d6
MD5 3fe148574244bfb2c30a4ad4d5fcec9b
BLAKE2b-256 f011315caafee30573a1ec91ab1252c0c71c39c8e5d39e596262d2aae9a96521

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