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

Uploaded Source

Built Distribution

odd_dbt-0.1.16-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odd_dbt-0.1.16.tar.gz
  • Upload date:
  • Size: 13.1 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.16.tar.gz
Algorithm Hash digest
SHA256 aafb1f604b87640179e101eb143fa7940912a5fb909e7b57cf11a3c25d97b659
MD5 88f9fb05330ade4a4c4777fa46121638
BLAKE2b-256 c01722673d9baacaacdd3ec93a2e3e45aedc8eb0d90e3fedb036fc2ec29e019d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: odd_dbt-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 15.5 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.16-py3-none-any.whl
Algorithm Hash digest
SHA256 bbbdbe4ef6a200dda01c435ddaa584edae06c2181fce48b1dd09ca089f67a597
MD5 fc6c3717080a627138e1671b03d1176a
BLAKE2b-256 33a4d157a5c69aa8f3210774f359ca33c1817496b149e4618ace4bf283986b58

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