• Stars
    star
    211
  • Rank 186,867 (Top 4 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Trino (https://trino.io/) adapter plugin for dbt (https://getdbt.com)

dbt-trino

Starburst dbt Β Β Β Β Β Β Β  trino

Build Status db-presto-trino Slack

Introduction

dbt is a data transformation workflow tool that lets teams quickly and collaboratively deploy analytics code, following software engineering best practices like modularity, CI/CD, testing, and documentation. It enables anyone who knows SQL to build production-grade data pipelines.

One frequently asked question in the context of using dbt tool is:

Can I connect my dbt project to two databases?

(see the answered question on the dbt website).

TL;DR dbt stands for transformation as in T within ELT pipelines, it doesn't move data from source to a warehouse.

dbt-trino adapter uses Trino as a underlying query engine to perform query federation across disperse data sources. Trino connects to multiple and diverse data sources (available connectors) via one dbt connection and process SQL queries at scale. Transformations defined in dbt are passed to Trino which handles these SQL transformation queries and translates them to queries specific to the systems it connects to create tables or views and manipulate data.

This repository represents a fork of the dbt-presto with adaptations to make it work with Trino.

Compatibility

This dbt plugin has been tested against Trino version 414, Starburst Enterprise version 413-e and Starburst Galaxy.

Setup & Configuration

For information on installing and configuring your profile to authenticate to Trino or Starburst, please refer to Starburst and Trino Setup in the dbt docs.

Trino- and Starburst-specific configuration

For Trino- and Starburst-specific configuration, you can refer to Starburst (Trino) configurations on the dbt docs site.

Contributing

Release process

Before doing a release, it is required to bump the dbt-trino version by triggering release workflow version-bump.yml. The major and minor part of the dbt version are used to associate dbt-trino's version with the dbt version.

Next step is to merge the bump PR and making sure that test suite pass.

Finally, to release dbt-trino to PyPi and GitHub trigger release workflow release.yml.

Backport process

Sometimes it is necessary to backport some changes to some older versions. In that case, create branch from x.x.latest branch. There is a x.x.latest for each minor version, e.g. 1.3.latest. Make a fix and open PR back to x.x.latest. Create changelog by changie new as ususal, as separate changlog for each minor version is kept on every x.x.latest branch. After merging, to make a release of that version, just follow instructions from Release process section, but run every workflow on x.x.latest branch.

Code of Conduct

Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

More Repositories

1

metabase-driver

Starburst Metabase driver
Clojure
64
star
2

presto-minio

Presto and Minio on Docker Infrastructure
37
star
3

dbt-trino-utils

Utility functions for dbt projects running on Trino
Shell
20
star
4

starburst-terraform

A complete set of Terraform scripts to deploy Starburst to AWS, GCP and Azure managed Kubernetes services
HCL
15
star
5

starburstdata.github.io

Starburst documentation
HTML
14
star
6

dbt-demo

JavaScript
13
star
7

error-prone-checks

Collection of Error Prone bug checkers for the Trino ecosystem
Java
11
star
8

starburst-deploy

Publicly accessible scripts and yamls for easy manual deployments of Starburst
Shell
9
star
9

presto-admin-sh

Simple bash alternative to prestodb/presto-admin.
Shell
4
star
10

pystarburst-examples

Jupyter Notebook
4
star
11

galaxy-kafka-loader-example

Near real-time data ingestion that continuously pulls JSON data from Kafka and loads it into a Galaxy-managed AWS S3 data lake.
Java
4
star
12

devrel-assets

Repo for potential and in progress developer blog articles
Java
3
star
13

superset-docker

Shell
2
star
14

query-replay

Python
2
star
15

dell

Starburst Enterprise documentation for Dell
HTML
2
star
16

presto-gcp-marketplace

Starburst Enterprise Presto in Google Cloud Marketplace
1
star
17

starburst-spotify-docker-client

Shaded version of Spotify's docker-client
Java
1
star
18

SA-Galaxy-Workshop

Repository to be Used by SAs to facilitate On-Site Galaxy Workshops
1
star
19

gateway-charts

Helm charts for deploying the trino gateway
Shell
1
star
20

kubernetes-assertions

Java
1
star
21

hive-json-serde

Java
1
star
22

maven-release-github-action

Maven Release GitHub Action
Shell
1
star