BigQuery のリネージュ機能を使ってみた
はじめに
2022/12/22 に、BigQuery にリネージュタブが追加されました。(プレビュー公開)
リネージュタブでどんな情報が見れるか確認してみました。
ドキュメント
リネージュタブについてはドキュメントが公開されていました。
ドキュメントによると、コピージョブで作成したテーブルとBigQuery のクエリで操作したテーブルに関する情報が見れるとのことでした。
動作検証
準備
リネージュタブを使うには Data Lineage API と Data Catalog API の両方を有効にする必要があります。
BigQuery のテーブルを開き、「リネージュ」タブを開くと警告が出ます。
「必要なAPIの有効化」をクリックすると二つとも有効化されます。
表示の見方
アイコンは2種類ありました。
・テーブル
・クエリ
テーブルアイコン
テーブルアイコンをクリックすると、テーブルの詳細情報と列を確認することができます。
「リネージを開く」ボタンをクリックすると、そのテーブルに紐づくリネージュが表示されます。
「クエリ」ボタンをクリックすると、そのテーブルに対するクエリエディタタブが開きます。
クエリアイコン
クエリアイコンをクリックすると、クエリの詳細情報と実行情報を確認することができます。
実行情報の「その他」ボタンを押すと、実行の詳細を確認できます。
以降は、クエリを実行したときに気になったことをまとめました。
コピージョブで作成したテーブル
コピージョブでリネージュが表示されるとのことでしたが、テーブル詳細タブの「コピー」ボタンでコピーした場合はリネージュが表示されませんでした。
SQL クエリ CREATE TABLE <宛先テーブル> COPY <ソーステーブル>
でコピージョブを実行するとリネージュが表示されました。
まだ対応してないのかもしれません。
副問い合わせ実行時のリネージュ
UPDATE 文で副問い合わせを行いました。
UPDATE update_table
SET
var1 = (SELECT var1 FROM source_table1 WHERE var1="aaa"),
var2 = (SELECT var5 FROM source_table2 WHERE var1="ccc")
WHERE var1="bbb"
リネージュを見ると、クエリアイコンが2つ表示された状態でした。
クエリアイコンの詳細はどちらも同じだったので、左側が副問い合わせ、右側が UPDATE 句という意味と思われます。
その他気になったこと
リネージュタブを開くたびに「次のロケーションからリネージを取得できません: europe-west12」という警告が表示されました。
ドキュメントでは未対応リージョンの記載はありませんでしたが、投稿時点で europe-west12 リージョンはまだ対応してなさそうです。
また、今回のプレビューではビューや、Google が提供する BigQuery へのデータ出力機能(Datastream for BigQuery など)を使った場合のリネージュはありませんでした。
今後のGAやアップデートで追加されるのを期待です。
以上です。誰かの参考になれば幸いです。