Tools for converting Tableau Prep flows to dbt models
Project description
prep2dbt
Tableau Prepで作成されたフローをdbtモデルに変換するツールです。
ドキュメント
ソースコード
サンプル(Superstoreを本ツールでdbtに変換)
モチベーション
Tableau PrepはGUIで簡易なデータパイプラインを作成・操作することに焦点が当てられたツールです。フローが複雑化してきた場合や複数人でフローを利用する場合には、これを維持・管理するために大きな労力を支払わなければなりません。
一方、dbtはSQLを中核にしたデータパイプラインを構築するためのツールとして知られています。コードのモジュール化、テスト、自動ドキュメント作成など、共同でパイプラインを管理するために必要となる様々な機能が提供されます。
このツールは、Tableau Prepの処理自体をdbtへ移植する、あるいはドキュメント化だけをdbtに頼るといった部分的な利用を支援するために作りました。
機能
dbtモデル変換
フローファイルをdbtモデル(SQLファイルとYML構成ファイル)に変換します。
[!NOTE]
dbtプロジェクト自体はこのツールでは作成しないため、プロジェクトは別で用意してください。
初めてdbtを利用する方は、クイックスタートでプロジェクトの作り方を確認できます。
[!caution]
Tableau Prepのフローファイルからは、変換に十分な情報が取得できない場合があります。 (例えば、データソースがどのようなカラムを持っているのかといった情報がファイルに残っていません。) よって、変換後のSQLが完璧に動作する保証はありません。
また、多くの場合でTableau PrepのフローをそのままSQLにマッピングするだけのモデルは、パフォーマンスや再利用性の観点から推奨しません あくまで開発の土台として利用してください。
統計情報の出力
フローが利用している機能の一覧と、統計情報を出力します。これはフロー移行前に難易度や見積もりの測定を行ったり、リファクタリングのヒントとして活用するために利用できます。
インストール
pipからインストールできます。
$ pip install prep2dbt
または、このプロジェクトをローカルでパッケージとして実行します。
$ git clone https://github.com/t0momi219/prep2dbt.git
$ python -m prep2dbt convert -f /path/to/file.tfl
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.