データリネージについて

データリネージは DataPlex の機能で、システム内でのデータの移動(データの送信元、データの通過先、データに適用される変換)を追跡できます。

データリネージが必要な理由

大規模なデータセットを扱うには、多くの場合、テキスト ファイル、テーブル、レポート、ダッシュボード、モデルという特定のプロジェクトのニーズに合わせてデータをエンティティに変換します。

たとえば、すべての購入を 1 つの SQL テーブルに記録するオンライン ストアがあるとします。アナリストがデータを簡単に処理できるようにするには、この単一のテーブルから情報を抽出し、リージョン、ブランド、または販売価格ごとに小さなテーブルを生成するジョブの実行を開始します。アナリストも同じ処理を開始し、小規模なテーブルを他のデータソースとマージして、さらにテーブルを作成します。

これは、関係者にとって大きな課題になる可能性があります。

  • データ コンシューマでは、セルフサービス ツールを使用してデータが信頼できるソースから来ているかどうかを判断できません。
  • すべてのデータ変換を追跡する信頼できる方法がないため、データ エンジニアは問題の根本原因を突き止めることができません。
  • データ エンジニアやアナリストは、テーブルの変更や削除を行う前に、影響を十分に評価することはできません。
  • データ ガバナンスは、組織全体で機密データがどのように使用されるかを簡単に把握することや、規制要件を遵守していることを保証できません。

データリネージは、実用的な方法を提供するソリューションです。

  • リネージグラフで可視化して、データがどのように収集され、変換されるかを理解できます。
  • エントリとデータ オペレーションに関連するエラーを根本原因まで追跡します。
  • 影響の分析を通じてチェンジ マネジメントを改善: ダウンタイムや予期せぬエラーを回避し、依存するエントリを理解して、関係者と協力します

リネージの可視化グラフ

リネージグラフは、特定の Data Catalog エントリ用の Data Lineage API によって収集される情報を表します。

サンプルグラフには、最下部に固定されるSQL コードを表示する詳細パネルを使用して、変換されてから新しいテーブルに統合される 2 つのテーブルからのデータが表示されます。
図 1: Dataplex UI のリネージ可視化グラフの例。

Dataplex は、Data Lineage API と連携して、完全修飾名がデータリネージによって認識されたエンティティと一致するエントリを識別します。一致した Dataplex エントリの場合は、詳細ページの [Lineage] タブにアクセスしてグラフを表示できます。

リネージグラフには、次の 2 種類の要素が表示されます。

  • リネージ情報の作成に関連するエンティティを表す横長の長方形のボタン。リネージ イベントのソースまたはターゲットになります。
  • ソース エンティティまたはターゲット エンティティの作成または更新を行うプロセスを表す小さな正方形ボタン。プロセスボタンは、Data Lineage API に報告したソースシステムに固有のアイコンを使用します。たとえば、BigQuery ジョブは BigQuery のリネージ プロセス アイコン。 アイコンを使用します。

データリネージ情報モデル

基本的な形式で、リネージは、ソースからターゲットに変換されたデータのレコードです。Data Lineage API はこれらの情報を収集し、プロセス、実行、イベントのコンセプトを使用して階層データモデルに編成します。

処理

プロセスは、特定のシステムでサポートされているデータ変換オペレーションの定義です。BigQuery リネージのコンテキストでは、processサポートされているジョブタイプのいずれかです。

Run

プロセスが実行されます。プロセスには複数の実行を含めることができます。実行には、開始時刻、終了時刻、状態、追加の属性などの詳細が含まれます。 詳細については、run リソースのリファレンスをご覧ください。

イベント

イベントは、データ変換操作が行われ、ソースとターゲットのエンティティの間でデータが移動した時点を表します。

イベントには、特定のイベントの送信元とターゲットを定義するリンクのリストが含まれます。イベントは、リネージの可視化グラフの計算に使用されますが、Cloud コンソールに直接公開されることはありません。Data Lineage API を使用して、これらのテーブルの作成、読み取り、削除を行うことができます(更新はできません)。

BigQuery テーブル間でデータをコピーする次の例について考えてみます。

例では、customer_year というテーブルと customer からデータを抽出し、top_customer というテーブルを作成します。
図 2.テーブルデータのソースを示すグラフの例。

テーブル間のデータの移動方法は、リネージ プロセス(グラフで BigQuery のリネージ プロセス アイコン。 アイコンによって示される)で説明されています。これは SQL CREATE TABLE AS SELECT クエリまたは INSERT ステートメントです。

その SQL ステートメントを実行するたびに、個々の実行が構成されます。実行にはイベントが含まれます。これらは、どのテーブルがソースとして使用され、どのテーブルがターゲットとして使用されたかを記録します。この例では、テーブル customer_yearcustomers はどちらも、ターゲット top_customer テーブルのソースです。

データリネージの自動トラッキング

Data Lineage API を有効にすると、データリネージをサポートする Google Cloud システムが、データの移動の報告を開始します。各統合システムは、さまざまなデータソースの系列情報を送信できます。サポートされているすべてのプロダクトの詳細については、以下のセクションをご覧ください。

BigQuery

BigQuery プロジェクトでデータリネージを有効にすると、Dataplex によって次のリネージ情報が自動的に記録されます。

BigQuery のコピー、クエリ、読み込みジョブは、プロセスとして表されます(リネージの可視化グラフで一括表示アイコン をクリックしてください)。各プロセスでは、最新の BigQuery ジョブの属性リストに BigQuery job_id が含まれています。

その他のサービス

データリネージでは、次の Google Cloud サービスとの統合がサポートされています。

カスタム データソースのデータリネージ

Dataplex の Data Lineage API を使用すると、統合システムでサポートされていないデータソースの系列情報を手動で記録できます。

Dataplex では、既存の Data Catalog エントリの完全修飾名と一致する fullyQualifiedNames を使用している場合、手動で記録されたリネージの可視化グラフを作成できます。カスタム データ ソースのリネージを記録する場合は、まずカスタム Data Catalog エントリを作成します。

カスタム データ ソースの各プロセスでは、属性リストに sql キーを含めることができます。このようなキーの値は、データ リネージ グラフの詳細パネルでコードのハイライトをレンダリングするために使用されます。記載のとおりに SQL ステートメントが表示されます。機密情報を除外する責任はユーザーにあります。鍵名 sql では、大文字と小文字が区別されます。

OpenLineage

すでに OpenLineage を使用して他のデータソースからリネージ情報を収集している場合は、OpenLineage イベントを Dataplex にインポートし、Google Cloud コンソールにそれらのイベントを表示できます。詳しくは、OpenLineage との統合をご覧ください。

現在の機能制限

維持率

  • すべてのリネージ情報は、30 日間のみシステムに保持されます。
  • リネージ情報は、関連するデータソースを削除した後も維持されます。 つまり、BigQuery テーブルとその Data Catalog エントリを削除しても、最大 30 日間は API を使用してそのテーブルのリネージを読み取ることができます。

データリネージにアクセスする

データリネージ機能には、以下を使用してアクセスできます。

次のステップ