Stairlight v0.3.0: データソースとして Redash に対応しました
データリネージツール Stairlight の v0.3.0 を公開しました。
Stairlight とは
テーブルレベルのデータリネージツールです。詳しくはこちらの記事をご参照ください。
主なアップデート
1. データソースとして Redash に対応しました
Redash は、OSS として公開されている BI ツールです。Redash から任意の RDBMS や DWH に接続することで、クエリ実行結果をもとにしたグラフやダッシュボードの作成、アラート通知をすることができます。
今回追加したのは、この Redash 自体のデータベース(PostgreSQL) に接続して、保存されているクエリを読み出す機能です。
この機能により、これまで Stairlight がターゲットとしていた DWH における ETL だけでなく、その後のデータ活用を行う領域も対象に加わりました。現在想定しているユースケースは、GCP の Cloud Composer で ETL を実行したあと、加工後のデータを読み出している BI ツールまで一気通貫でデータリネージを行う、というものです。
データソースを定義する設定ファイル (stairlight.yaml) の例です。
Include: - TemplateSourceType: Redash DatabaseUrlEnvironmentVariable: REDASH_DATABASE_URL DataSourceName: BigQuery QueryIds: - 1 - 3 - 5 Settings: MappingPrefix: "mapping"
PostgreSQL 接続文字列をセットした環境変数名と Redash が接続しているデータソースの名称、登録しているクエリ ID を指定します。*1
Redash には、クエリ内に変数を埋め込むことができる Query Parameters 機能がありますが、こちらにも対応しています。
以下の設定ファイルでは、例えば SELECT * FROM {{ table }}
というようなクエリに対して、{{ table }}
の部分に dashboards
を埋め込んだ上でクエリの解析を行います。その他のデータソースと同じように、Tables に複数の要素を設定することで別個のクエリとして指定できる、という仕様にしています。
Mapping: - TemplateSourceType: Redash QueryId: 5 DataSourceName: metadata Tables: - TableName: New Query Parameters: table: dashboards Labels: Category: Redash test
2. 出力結果の保存・読込先として Google Cloud Storage に対応しました
これまで、出力結果の保存・読込先はローカルのみでしたが、GCS にも対応しました。
--save
、--load
オプションで GCS のパスを指定できるようになっています。
3. Jinja パラメータ抽出機能を強化しました
以前より、クエリ内に設定されている Jinja パラメータを自動抽出する機能はありましたが、すでに mapping.yaml へ設定済みのクエリに対しては、パラメータのチェックをしていませんでした。
今回のアップデートにより、stairlight check
コマンドを実行すると、パラメータの指定が漏れているクエリも抽出できるようになりました。
今後の予定
大きめの内容としては、以下を予定しています。