Skip to main content

Versatile Data Kit SDK plugin provides support for trino database and trino transformation templates.

Project description

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

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())

Ingestion

This plugin allows users to ingest data to a Trino database, which can be preferable to inserting data manually as it automatically handles serializing, packaging and sending of the data asynchronously with configurable batching and throughput. To do so, you must set the expected variables to connect to Trino, plus the following environment variable:

export VDK_INGEST_METHOD_DEFAULT=TRINO

Then, from inside the run function in a Python step, you can use the send_object_for_ingestion or send_tabular_data_for_ingestion methods to ingest your data.

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 vdk-plugins/vdk-trino/requirements.txt

Run

pip install -r requirements.txt

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vdk-trino-0.2.487135623.tar.gz (17.8 kB view details)

Uploaded Source

File details

Details for the file vdk-trino-0.2.487135623.tar.gz.

File metadata

  • Download URL: vdk-trino-0.2.487135623.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for vdk-trino-0.2.487135623.tar.gz
Algorithm Hash digest
SHA256 582a622f7c899533ff64160e6d3d1dcdeeb49693f2f89b4357e4c5dbd0efa372
MD5 353aecf49234aa868ac4ff3f2b97a160
BLAKE2b-256 fee8be4dc70e3a85d9c63c35fe54b94058219523c157cfae44df57916186b2d9

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