This plugin allows vdk-core to interface with and execute queries against a Trino database. Additionally, it can collect lineage data, assuming a lineage logger has been provided through the vdk-core configuration.
Usage
Run
pip install vdk-tino
After this data jobs will have access to Trino database connection managed by Versatile Data Kit SDK.
If it is the only database plugin installed , vdk would automatically use it. Otherwise, users need to set VDK_DB_DEFAULT_TYPE=TRINO as an environment variable or set 'db_default_type' option in the data job config file (config.ini).
For example
def run(job_input: IJobInput):
job_input.execute_query("select 'Hi Trino!'")
Templates
vdk-trino comes with pre-defined templates for SQL transformations
- SCD1 - Slowly Changing Dimension type 1:
- SCD2 - Slowly Changing Dimension Type 2:
Lineage
The package gathers lineage data for all Trino SQL queries executed in a data job
Other plugins can read that lineage data log it. They need to provide LineageLogger implementation and hook this way:
@hookimpl
def vdk_initialize(context: CoreContext) -> None:
context.state.set(StoreKey[LineageLogger]("trino-lineage-logger"), MyLogger())
Configuration
Run vdk config-help - search for those prefixed with "TRINO_" to see what configuration options are available.
Testing
Testing this plugin locally requires installing the dependencies listed in plugins/vdk-trino/requirements.txt
Run
pip install -r requirements.txt
Metadata
Release files for vdk-trino 0.1.358698086
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vdk-trino-0.1.358698086.tar.gz | 13.5 kB | Details |
Release files / vdk-trino-0.1.358698086.tar.gz
| Download URL | vdk-trino-0.1.358698086.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
964dde8c718c5e63341dd593ef754ab5bbff8c032feb0bc4e87f13de45e8623b
|
|
BLAKE2b-256 checksum How to use checksums |
461552a891e5974eefd9683f3cf6b3aee0bd6c2ded87379e5f8d56097107a091
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11
|