Skip to main content

The TiDB adapter plugin for dbt

Project description

dbt-tidb

The dbt-tidb package contains all of the code enabling dbt to work with TiDB.

This repository is based on dbt-mysql. Thanks to them for their excellent work.

Table of Contents

Installation

Compile by source code.

$ git clone https://github.com/Daemonxiao/dbt-tidb.git
$ cd dbt-tidb
$ pip install .

Also, you can get it from pypi.

$ pip install dbt-tidb

Supported features

TiDB 4.X TiDB 5.0 ~ 5.2 TiDB >= 5.3 Feature
Table materialization
View materialization
Incremental materialization
Ephemeral materialization
Seeds
Sources
Custom data tests
Docs generate
Snapshots

Note:

  • TiDB 4.0 ~ 5.0 does not support CTE, you should avoid using WITH in your SQL code.
  • TiDB 4.0 ~ 5.2 does not support creating a temporary table or view.
  • TiDB 4.X does not support using SQL func in CREATE VIEW, avoid it in your SQL code. You can find more detail here.

Profile Configuration

TiDB targets should be set up using the following configuration in your profiles.yml file.

Example entry for profiles.yml:

your_profile_name:
  target: dev
  outputs:
    dev:
      type: tidb
      server: 127.0.0.1
      port: 4000
      schema: database_name
      username: tidb_username
      password: tidb_password
Option Description Required? Example
type The specific adapter to use Required tidb
server The server (hostname) to connect to Required yourorg.tidb.com
port The port to use Required 4000
schema Specify the schema (database) to build models into Required analytics
username The username to use to connect to the server Required dbt_admin
password The password to use for authenticating to the server Required correct-horse-battery-staple

Database User Privileges

Your database user would be able to have some abilities to read or write, such as SELECT, CREATE, and so on. You can find some help here with TiDB privileges management.

Required Privilege
SELECT
CREATE
CREATE TEMPORARY TABLE
CREATE VIEW
INSERT
DROP
SHOW DATABASE
SHOW VIEW
SUPER

Running Tests

See test/README.md for details on running the integration tests.

Contributing

Welcome to contribute for dbt-tidb. See Contributing Guide for more information.

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

dbt-tidb-1.0.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

dbt_tidb-1.0.0-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file dbt-tidb-1.0.0.tar.gz.

File metadata

  • Download URL: dbt-tidb-1.0.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for dbt-tidb-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1290a481b9a5c294f691cd850bc5f51027edc33d89dd6531170ac49f985a2a73
MD5 c05d6cff765ca15a357d4bd0f40573f9
BLAKE2b-256 f1a784b492ed4e5bf5ac579f9a16fe0f964ce838d6e8132baebe4b4ca6a85452

See more details on using hashes here.

File details

Details for the file dbt_tidb-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: dbt_tidb-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for dbt_tidb-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c2b4ea71c13a876982de000781848032bf7a8710d233b62bcb2d1ee620f8416
MD5 7d9ee6e8961d32f662bc1e8f99de7800
BLAKE2b-256 c9619190cf0a244fb20ca8273f04f8a23060d4a97028ed8b6648fe4e8bb59e9c

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