Knowledge Catalog のデータリネージの可視化について

データリネージは、データアセットとそれらを変換するプロセスの関係を追跡することで、データがシステム内をどのように移動するかを把握するのに役立ちます。このリネージ情報は、 Google Cloud コンソールでグラフとリストとして表示できます。

このドキュメントでは、テーブルレベルと列レベルのデータリネージの粒度について説明し、 Google Cloud コンソールでグラフビューとリスト表示を使用してデータリネージを探索する手順について説明します。

基盤となるデータモデルの詳細については、データリネージ情報モデルをご覧ください。

テーブルレベルのリネージと列レベルのリネージの違い

データリネージを使用すると、テーブルレベルと列レベルの両方でデータの出所と変換パスを追跡できます。

テーブルレベルのリネージを使用する場面

テーブルレベルのリネージは、テーブル間の関係を示すことで、データ パイプラインの概要を把握できます。テーブルレベルのリネージは、次のようなマクロレベルのタスクに使用します。

  • データの検出。新しいダッシュボードを作成するアナリストは、テーブルレベルの系統を使用して、要約テーブルのソースを追跡し、データが信頼できるデータベースから取得されたことを確認できます。

  • 移行計画の策定。 コア データベースの移行を計画しているデータベース管理者は、テーブルレベルの系統を使用して、そのデータベースに依存するすべてのダウンストリーム レポートとダッシュボードを特定できます。

  • 監査とガバナンス。データガバナーは、テーブルレベルと列レベルのリネージを使用して、個人情報(PII)を含むテーブルのデータがパイプラインをどのように流れるかを確認できます。

列レベルのリネージを使用するケース

列レベルのリネージは、個々の列間のデータの流れを追跡することで、より詳細なビューを提供します。このビューでは、リネージ イベント内のリンクは、ソース列とターゲット列の関係を表します。これらの列レベルのリンクにはそれぞれ、変換を記述する依存関係のタイプがあります。

  • Exact copy: 列間で値がコピーされます。

  • Other: 列間の他の種類の依存関係。

列レベルの系統は、次のようなタスクに使用します。

  • 根本原因の分析 データ アナリストが列に誤った値を見つけた場合、列レベルのリネージを使用してソース列まで遡り、根本原因を特定できます。

  • インパクト分析データ エンジニアは、列を非推奨にする前に、列レベルのリネージを使用して、その列に依存するすべてのダウンストリーム列を見つけることができます。

  • 指標のデータソースの検証。データ アナリストは、列レベルの系統を使用して、複雑な SQL クエリを解読することなく、指標の計算に使用されるソース列を特定できます。

列レベルのリネージは、次のタイプの BigQuery ジョブに対して自動的に収集されます。

Managed Service for Apache Spark ジョブの場合、サポートは Managed Service for Apache Spark で使用される Open Lineage 依存関係のタイプとバージョンによって異なります。サポートされている最小バージョンは 1.34 です。サポートされている Managed Service for Apache Spark クラスタ イメージの最小バージョンは次のとおりです。

  • 3.0.3
  • 2.3.22
  • 2.2.75
  • 2.1.107

サポートされている Managed Service for Apache Spark ランタイムの最小バージョンは次のとおりです。

  • 3.0.3
  • 2.3.20

Google Cloud コンソールのリネージビュー

Google Cloud コンソールのデータリネージでは、リネージ情報を操作する方法が 2 つあります。使用可能な複数のリージョンにわたってリネージグラフを探索するか、リネージ エクスプローラ パネルを使用して、特定のリージョン内のより詳細なビューを取得できます。グラフ表示とリスト表示を切り替えて、さまざまな詳細レベルでデータフローを分析することもできます。

リネージビューは、Knowledge Catalog(旧称 Dataplex Universal Catalog)エントリ、BigQuery アセット、Vertex AI リソース(モデル、データセット、特徴ストアビュー、特徴グループ)でのみ使用できます。

このドキュメントで説明するさまざまなビューについては、 Google Cloud システムでデータリネージを使用するをご覧ください。

リネージ グラフビュー

グラフビューでは、システムとリージョン間のデータアセットのフローと関係が可視化されるため、データ アーキテクチャの把握、オリジンと宛先の追跡、パターンの特定に役立ちます。これらのリネージグラフは、特定の Knowledge Catalog エントリに対して Data Lineage API サービスによって生成され、データの経時的な変換方法を示します。選択したルートエントリの上流、下流、または両方のフローが表示されます。

Data Lineage API は、サポートされているシステムおよびカスタムソースの API 呼び出しからアセット情報を自動的に受信します。

グラフの主な要素は次のとおりです。

  • ノードノードはデータ エンティティを表します。テーブルレベルのビューでは、ノードにテーブル名とその列が表示されます。列レベルのビューでは、各ノードは特定のテーブルと列を表します。

  • エッジエッジは、ノードを接続し、ノード間で発生するプロセスを表す線です。エッジの表示は、リネージビューによって異なります。

    • テーブルレベルのビューでは、エッジにデータ変換を示すアイコンが表示されます。
    • 列レベルのビューでは、エッジにデータ変換を示すラベルが付いています。たとえば、エッジラベルに Exact copy と表示されることがあります。これは、ソース列がターゲット列にコピーされた方法を示しています。
  • アイコンとラベルを処理します。エッジにプロセス アイコンとラベルが表示され、変換に関する詳細情報が提供されます。

    • アイコンアイコンは変換プロセスを表します。グラフを手動で探索すると、エッジのアイコンはプロセスのソースシステム(BigQuery や Vertex AI など)を表します。複数のプロセスが関与している場合は、「複数のプロセス」アイコンが表示されます。プロセスソース システムが不明な場合は、歯車アイコンが使用されます。フィルタを適用すると、すべてのプロセスに歯車アイコンが使用されます。
    • ラベル列レベルのリネージビューでは、ラベルは列間の依存関係のタイプ(Exact copy または Other)を示します。

リネージグラフを探索する

[リネージ] タブを開くと、デフォルトの [グラフ] ビューが表示されます。デフォルトのビューには、システムとリージョン全体の概要が表示されます。グラフは手動で増分的に拡大でき、一度に 5 つのノードを読み込むことができます。エッジのプロセス アイコンは、ソースシステムを表すか、複数のプロセスを示します。

BigQuery などの Google Cloud システム全体でテーブルレベルのデータ変換を示す Knowledge Catalog のデフォルトのリネージ グラフ。
デフォルトのリネージ グラフビュー

データリネージ ビューをフィルタしてハイライト表示する

大規模で複雑なリネージ グラフの場合は、フィルタやハイライトを適用して視覚的なノイズを減らし、特定のリージョン内のリネージの探索に集中できます。[リネージ エクスプローラ] パネルを使用して条件を設定します。フィルタを適用すると、[グラフ] ビューと [リスト] ビューの上部にフィルタバーが表示され、有効なフィルタがチップとして表示されます。

リネージの可視化を調整するには、次のいずれかのモードを選択します。

  • ハイライト表示: 一致するノードが色と枠線で視覚的に強調表示され、グラフ全体は表示されたままになります。これにより、リネージ グラフの全体的なコンテキストを失うことなく、特定のアセットを見つけることができます。

  • フィルタ: 一致しないノードが非表示になり、一致するノードとその間のパスのみが表示されるようにグラフが簡略化されます。一致するノード間のパスに含まれる一致しないアセットは、折りたたまれたノードにグループ化されます。このモードは、複雑さを軽減し、関連するアセットとその直接的な関係のみに焦点を当てる場合に便利です。

リネージをフィルタリングまたはハイライト表示するには、次の条件を使用します。

  • プロジェクト: Google Cloud プロジェクト ID でフィルタします。
  • システム: データアセットが配置されているシステム(BigQueryCloud Storage など)でフィルタします。
  • エンティティ名: アセット名でフィルタします。ワイルドカード検索には * を使用できます(接頭辞と接尾辞のみ。例: *tabletest*)。
  • サブタイプ: アセットのサブタイプ(dashboardmodel など)でフィルタします。
  • 列名: 列名でリネージをフィルタして、列レベルの詳細を表示します。
  • 方向: アップストリームまたはダウンストリームのリネージ、またはその両方を表示します。
  • 期間: 特定の開始時刻または終了時刻に基づいてリネージをフィルタします。
  • 依存関係のタイプ: 依存関係のタイプに基づいて列レベルのリネージをフィルタします。使用可能なオプションの例としては、AllExact copy などがあります。

さらに、[BigQuery の一時テーブルを非表示にする] を選択すると、_script で始まる名前のデータセット内のテーブルなど、BigQuery によって作成された一時的なアセットを非表示にできます。

列レベルのリネージ、方向、期間のフィルタが表示されたリネージ エクスプローラ パネル。
リネージ エクスプローラ パネル

[グラフ] ビュータブのフォーカスされたビューでは、グラフが自動的に 3 レベルまで展開され、フィルタ条件に一致するすべてのリネージが読み込まれます。リネージ エクスプローラは最大 10 レベルの系統グラフを取得しますが、デフォルトでは最初の 3 レベルのみが展開されます。矢印をクリックすると、グラフが拡大され、残りのレベルが表示されます。

フォーカス ビューは、テーブルレベルと列レベルの両方のリネージをサポートしています。これには、選択したノードからルートまでのパスの可視化が含まれます。このフォーカス ビューでは、すべてのプロセスに汎用の歯車アイコンが使用されます。

フィルタリングされたデータアセットを示す、フォーカスされたリネージ グラフビュー。
テーブルレベルのリネージグラフのビューにフォーカス

列レベルのリネージを表示するには、次のいずれかの方法を使用します。

  • フォーカスされたグラフビューで、テーブルの列アイコンをクリックして、列レベルのリネージに切り替えます。

    列レベルのリネージに切り替えるために使用されるアイコン。
    列アイコン
  • デフォルトのグラフビューまたはフォーカスされたグラフビューで、リネージ エクスプローラ パネルの列名を適用します。

テーブル間の列レベルの関係を示すリネージグラフ。
列レベルのリネージビュー

すべてのフィルタを削除してデフォルトのビューに戻るには、 [リセット] をクリックします。

ハイライト モードとフィルタ モードを切り替えるには、リネージの可視化を絞り込むをご覧ください。

リネージノードの詳細を表示する

ノードの詳細を表示するには、ノードをクリックします。サイドパネルが表示され、選択したデータアセットに関する詳細情報が表示されます。たとえば、テーブルレベルの系統ビューでノードをクリックすると、アセットの完全修飾名、タイプ、その他の関連属性などの情報が表示されます。

リネージグラフで選択したノードの詳細パネル。
ノードの詳細

リネージ実行の履歴を表示する

完全なリネージグラフは、多くの異なるジョブの実行結果です。各ジョブは、グラフに特定のリンクを作成します。複数の実行は新しい実行としてログに記録されますが、グラフの静的な外観は変更されません。

個々の実行の詳細を表示するには、グラフでプロセスを含むエッジをクリックします。表示された [クエリ] パネルで、[実行] タブをクリックします。

[詳細] タブと [実行] タブが表示されている [クエリ] パネル。
クエリパネル

データ変換ロジックを検査する

コードを検索せずに変換のビジネス ロジックを理解するには、実行された正確な SQL クエリを表示します。SQL コードを表示するには、グラフでプロセスを含むエッジをクリックします。表示されたサイドパネルで、[詳細] タブをクリックします。

データリネージ パスを可視化する

リネージパスの可視化は、グラフ内の選択したノードからルートエントリまでのパスをトレースするのに役立ちます。ノードを選択して [パスを可視化] をクリックすると、グラフにはルートエントリへの直接リネージパスを形成するノードとプロセスのみがハイライト表示されます。

リネージパスの可視化を表示するには、[リネージ エクスプローラ] パネルでフィルタを適用して、フォーカスされたグラフビューを作成します。次に、フォーカスされたグラフビューでノードを選択します。選択したノードの詳細パネルで、[パスを可視化] をクリックします。

リネージパスの可視化は、テーブルレベルと列レベルのリネージで使用できます。リネージパスの可視化は、リスト表示でも使用できます。

列レベルのリネージグラフ ビューにあるリネージパスの可視化ボタン。
列レベルのリネージ グラフビューのリネージパスの可視化ボタン

リネージのリスト表示

リスト表示には、リネージの表形式の構造化された表現が表示されます。これは、グラフビューと同期されます。データアセットの並べ替え、フィルタリング、ダウンロードに役立ちます。このビューは、ソースとターゲットの関係の分析、関連するアセットの詳細の表示、リネージデータの書き出しに最適です。

リスト表示は、テーブルレベルと列レベルの両方のリネージで使用できます。詳細リスト表示と簡略リスト表示を切り替えることができます。

  • シンプルリスト表示: このビューは、リネージに関与するすべてのアセットの簡潔で一意のリストを取得する場合に便利です。[システム]、[プロジェクト]、[エンティティ]、[FQN](完全修飾名)、[方向]、[深さ] などの列を使用すると、リネージ内のすべてのデータアセット、その所在、元のソース、分析対象の中央アセットからの距離を確認できます。データフローに参加するすべてのエンティティの概要を把握するのに最適です。これがデフォルトのビューです。

  • 詳細リスト表示: このビューは、個々のソースとターゲットの関係を分析するために設計されています。[ソース] 列と [ターゲット] 列を別々に指定すると、各データ変換リンクを確認できます。このビューは、個々のデータフローの監査、テーブル間の依存関係の把握、各接続の詳細なリネージ レコードのエクスポートなど、特定のペアのアセット間でデータがどのように移動するかを深く理解する必要があるタスクに最適です。

テーブルレベルのリネージのリスト表示

このビューには、テーブル間の関係が全体として表示されます。指定されたフィルタを使用して、必要な列を選択します。

簡略化されたテーブルレベルのリネージリスト表示を示す表。
テーブルレベルのシンプルなリスト表示

以下のセクションを開くと、テーブルレベルのリスト表示で使用できる列が表示されます。

簡略化されたテーブルレベルのリスト表示で使用可能な列

  • システム: データアセットが配置されているシステム。たとえば、[BigQuery](/bigquery/docs) などがあります。
  • プロジェクト: データアセットを含む Google Cloud プロジェクト ID。
  • エンティティ: データアセットの名前。例にはテーブル名が含まれています。
  • FQN: 元のソース エンティティまたは列の完全修飾名(FQN)。
  • 方向: リストに表示されたアセットが、リネージフローのアップストリーム(ソース)かダウンストリーム(ターゲット)かを示します。
  • 深度: 分析対象の中央アセットからのリネージ ステップの数。

詳細なテーブルレベルのリスト表示で使用できる列

  • ソースシステム: ソースデータ アセットが配置されているシステム。たとえば、BigQuery などがあります。
  • ソース プロジェクト: ソース データアセットを含む Google Cloud プロジェクト ID。
  • ソース: ソース データアセットの名前。たとえば、テーブル名などがあります。
  • 送信元 FQN: 送信元エンティティの FQN。
  • ターゲット システム: ターゲット データアセットが配置されているシステム。たとえば、BigQuery などがあります。
  • ターゲット プロジェクト: ターゲット データアセットを含む Google Cloud プロジェクト ID。
  • ターゲット: ターゲット データアセットの名前。たとえば、テーブル名などがあります。
  • ターゲットの FQN: ターゲット エンティティの FQN。
  • 方向: リストに表示されたアセットが、リネージフローのアップストリーム(ソース)かダウンストリーム(ターゲット)かを示します。
  • 深度: 分析対象の中央アセットからのリネージ ステップの数。

列レベルのリネージのリスト表示

このビューには、ソーステーブルとターゲット テーブルの個々の列間の関係が表示されます。指定されたフィルタを使用して、必要な列を選択します。

簡略化された列レベルのリネージリスト表示を示す表。
列レベルの簡略化されたリスト表示

次のセクションを開くと、列レベルのリスト表示で使用可能な列が表示されます。

簡略化された列レベルのリスト表示で使用できる列

  • システム: データアセットが配置されているシステム。たとえば、BigQuery などがあります。
  • プロジェクト: データアセットを含む Google Cloud プロジェクト ID。
  • エンティティ: データアセットの名前。例にはテーブル名が含まれています。
  • : エンティティ内のリネージ エクスプローラ パネルで選択された特定の列。
  • FQN: 元のソース エンティティまたは列の完全修飾名(FQN)。
  • 方向: リストに表示されたアセットが、リネージフローのアップストリーム(ソース)かダウンストリーム(ターゲット)かを示します。
  • 深度: 分析対象の中央アセットからのリネージ ステップの数。

詳細な列レベルのリスト表示で使用できる列

  • ソースシステム: ソースデータ アセットが配置されているシステム。
  • ソース プロジェクト: ソースデータ アセットを含む Google Cloud プロジェクト ID。
  • 送信元 FQN: 送信元列の FQN。
  • ターゲット システム: ターゲット データアセットが配置されているシステム。
  • ターゲット プロジェクト: ターゲット データアセットを含む Google Cloud プロジェクト ID。
  • ターゲットの FQN: ターゲット列の FQN。
  • 方向: データフローがアップストリームかダウンストリームかを示します。
  • 依存関係のタイプ: 列間の関係の性質を表します。
  • 深度: 分析対象の中央アセットからのリネージ ステップの数。

次のステップ