4
1

More than 1 year has passed since last update.

BigQuery のリネージュ機能を使ってみた

Posted at

BigQuery のリネージュ機能を使ってみた

はじめに

2022/12/22 に、BigQuery にリネージュタブが追加されました。(プレビュー公開)
リネージュタブでどんな情報が見れるか確認してみました。

ドキュメント

リネージュタブについてはドキュメントが公開されていました。

ドキュメントによると、コピージョブで作成したテーブルとBigQuery のクエリで操作したテーブルに関する情報が見れるとのことでした。

動作検証

準備

リネージュタブを使うには Data Lineage API と Data Catalog API の両方を有効にする必要があります。
BigQuery のテーブルを開き、「リネージュ」タブを開くと警告が出ます。
「必要なAPIの有効化」をクリックすると二つとも有効化されます。
API有効化.PNG

表示の見方

リネージュの表示は以下画像のようになっています。
リネージュタブ.PNG

アイコンは2種類ありました。
・テーブル
・クエリ

テーブルアイコン

テーブルアイコン.PNG
テーブルアイコンをクリックすると、テーブルの詳細情報と列を確認することができます。
テーブルアイコン詳細パネル.PNG
テーブルアイコン列パネル.PNG

「リネージを開く」ボタンをクリックすると、そのテーブルに紐づくリネージュが表示されます。
リネージを開くボタン.PNG

「クエリ」ボタンをクリックすると、そのテーブルに対するクエリエディタタブが開きます。

クエリアイコン

クエリアイコン.PNG

クエリアイコンをクリックすると、クエリの詳細情報と実行情報を確認することができます。
クエリアイコン詳細パネル.PNG
クエリアイコン実行パネル.PNG

実行情報の「その他」ボタンを押すと、実行の詳細を確認できます。
クエリアイコン実行パネルその他ボタン.PNG

以降は、クエリを実行したときに気になったことをまとめました。

コピージョブで作成したテーブル

コピージョブでリネージュが表示されるとのことでしたが、テーブル詳細タブの「コピー」ボタンでコピーした場合はリネージュが表示されませんでした。
コピーボタン.PNG

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つ表示された状態でした。
副問い合わせリネージュ.PNG

クエリアイコンの詳細はどちらも同じだったので、左側が副問い合わせ、右側が UPDATE 句という意味と思われます。

その他気になったこと

リネージュタブを開くたびに「次のロケーションからリネージを取得できません: europe-west12」という警告が表示されました。
リネージュ取得できないメッセージ.PNG
ドキュメントでは未対応リージョンの記載はありませんでしたが、投稿時点で europe-west12 リージョンはまだ対応してなさそうです。

また、今回のプレビューではビューや、Google が提供する BigQuery へのデータ出力機能(Datastream for BigQuery など)を使った場合のリネージュはありませんでした。
今後のGAやアップデートで追加されるのを期待です。

以上です。誰かの参考になれば幸いです。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1