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

Uploaded Source

Built Distribution

odd_dbt-0.1.15-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for odd_dbt-0.1.15.tar.gz
Algorithm Hash digest
SHA256 262ac52f03257ba54be81d892c8f54a943d1912518ad92cb6158f0abb0bb9f15
MD5 8e19c5774c99818b97327f83087d9a02
BLAKE2b-256 fa51abb493a056e35e68f28690e1e793664e5fb032efb8a5f3a698df87f8741f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for odd_dbt-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 186eefbf87e07de7eab3655c7417cfed40c2a9dc739e203beee361821f3a5403
MD5 bc01b1407bdbc67ccb8b4380938b8f1c
BLAKE2b-256 0b9f1207a2696c813d70de4b44e77e2958ae7f91cce3344e552f20db41789b6a

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