Flink デプロイメントのデータリネージを使用すると、データの発生源を追跡し、データフローを管理および最適化し、問題をすばやく特定し、影響を評価できます。このトピックでは、デプロイメントの観点とメタデータの観点からデータリネージを表示する方法について説明します。
背景
データの発生源と変更履歴を追跡できない場合、データ品質とセキュリティを確保することが難しくなり、データ分析とトラブルシューティングの効率も低下します。データリネージは、データが取得、処理、転送、消費される過程で形成される関係を記述することで、これらの課題に対処します。これらの関係には、メタデータ間のデータフロー、依存関係、メタデータとストリームまたはバッチのデプロイメント間における生成・消費関係が含まれます。Flink では、テーブルレベルとカラムレベルの両方で、複数レイヤーのデプロイメントにまたがるデータリネージを表示して分析できます。次の表に主なメリットを示します。
|
メリット |
説明 |
|
データ検証の効率向上 |
データリネージを追跡することで、デプロイメントに関連するプロダクト、データベース、テーブル、テーブルカラムの属性と関連付け、データの発生源、処理ステップ、転送経路、最終的な消費先など、データのあらゆる側面を把握できます。これにより、データの信頼性と正確性を検証しやすくなり、データの管理と分析をより効果的に行えます。結果として、作業効率が向上します。 |
|
トラブルシューティングの効率向上 |
データ処理で問題が発生した場合、データリネージにより、問題を根本原因まで追跡して迅速に解決できます。これにより、ビジネス損失と高い人件費を防止できます。 |
|
データ分析の効率向上 |
データ資産が変更された場合、またはエラーが含まれる場合、影響を受けるオンラインのデプロイメントをすばやく特定し、是正措置を講じて誤った意思決定を防止できます。 |
|
データ資産コストの最適化 |
データリネージを分析することで、データフローの経路と依存関係を把握できます。これにより、データ処理パイプラインを最適化し、長期間アイドル状態のサービスを廃止し、データ処理の効率と品質を向上させ、データコストを削減できます。 |
データリネージモデル
この図には、ノード (エンティティ) とエッジ (関係) が含まれます。エンティティと関係が組み合わさってデータリネージを構成します。
|
要素 |
説明 |
|
ノード |
各カタログ、データテーブル、カラムはデータエンティティです。リネージグラフでは、エンティティはノードとして表されます。データリネージのノードには、次の 2 種類があります。
|
|
エッジ |
エンティティ間の関係は、アップストリームのソース (プロデューサー) とダウンストリームのコンシューマーによって定義されます。次のリネージ関係を確認できます。
|
制限事項
-
データリネージは単一の namespace 内でのみサポートされます。namespace をまたぐデータリネージはサポートされません。
-
メタデータの観点からデータリネージを表示するには、カタログを使用する必要があります。デプロイメントの観点からの表示は、カタログに依存しません。
-
データリネージの表示と検索をサポートするのは SQL デプロイメントのみです。
-
データリネージは、少なくとも 1 回起動した SQL デプロイメントでのみ利用できます。デプロイメントを停止すると、システムは最後に確認されたデータリネージを保持します。
-
QueryOperation、SinkModifyOperation、CreateTableAsSelectOperationのみがサポートされます。システムは、CDAS 構文、フィルター条件、結合条件などに由来する間接的なリネージを追跡または表示できません。
デプロイメントの観点からのリネージの表示
[デプロイ] ページでは、デプロイノードとデータノードに関する特定の情報を確認できるほか、ターゲットデプロイにおけるテーブル間の依存関係やテーブルと列の階層関係も確認できます。
デフォルトでは、グラフはデプロイメントを中心に表示され、アップストリームテーブル、中央のデプロイメント、ダウンストリームテーブルの 3 レベルのリネージが表示されます。さらにアップストリームまたはダウンストリームまでリネージを追跡する必要がある場合は、アップストリームテーブルの左側、またはダウンストリームテーブルの右側にあるプラス記号をクリックします。
-
対象のワークスペースの[アクション]列で、[コンソール]をクリックします。
-
左側メニューで を選択し、対象のデプロイメントの名前をクリックします。
-
[データリネージ] タブで、[テーブルレベル] または [カラムレベル] をクリックすると、対応するデータリネージが表示されます。
-
テーブルレベル
ノードタイプ、コネクタ、カタログ名、データベース名、ソーステーブル名と宛先テーブル名に加えて、デプロイメント ID、作成時刻、作成者、最終更新時刻、最終更新者などの情報を確認できます。
デプロイメントの有向非巡回グラフ (DAG) では、データはソースノード
datagenから処理ノードresource_setting_planを経由して宛先ノードblackholeに流れます。ノードをクリックすると詳細パネルが開き、各カラムの値を確認できます。 -
カラムレベル
テーブルカラム、カラムタイプ、テーブルのデータベース名、カタログ名、コネクタに加えて、デプロイメントに関する情報を確認できます。
デプロイメントの DAG では、データは
datagenソースノードからresource_setting_plan処理ノードを経由してblackholeシンクノードに流れます。各ノードにはコネクタタイプと、VARCHAR(2147483647)型のidやnameなどのカラム詳細が表示されます。
-
メタデータの観点からのリネージの表示
カタログ内のテーブルが多くのデプロイに関連付けられている場合、リネージグラフは煩雑になります。 ズームなどの機能を使用してグラフを操作できます。 また、[クリックしたノードに自動フォーカス] スイッチをオンにすることもできます。 この機能が有効な場合、ターゲットのデプロイまたはテーブルをクリックすると、そのノードがグラフの中央に自動的に表示されます。
-
対象のワークスペースの [アクション] 列で、[コンソール] をクリックします。
-
左側メニューで、[Catalogs] をクリックします。次に、カタログの特定のデータベース配下にあるテーブル名をダブルクリックします。
-
[データリネージ] タブで [テーブルレベル] または [列レベル] をクリックすると、対応するデータリネージが表示されます。
-
テーブルレベル
対象のカタログ内の特定のテーブルを参照しているデプロイメントを確認できます。テーブルスキーマまたはデータが変更された場合、参照しているデプロイメントへの影響に対して、コードの修正や停止などの対応をすばやく行えます。
対象のデプロイメントノードをダブルクリックすると、その ID と作成や変更に関する情報を確認できます。デプロイメントの [O&M] ページにすばやく移動するには、デプロイメント名をクリックします。
-
カラムレベル
対象のカラムをクリックし、水色の実線に沿って、それを参照しているデプロイメントとテーブル、および対応するカラムを特定できます。対象のカラムが削除された場合、または名前や属性が変更された場合、参照しているデプロイメント、テーブル、カラムをすばやく見つけて、関連するテーブルカラムに対して適切に対応できます。
キャンバスの中央には、関連する中間クエリノード (例:
query-91) が表示されます。右側のプロパティパネルには、選択したカラムの詳細 (ノードタイプ、カラムタイプ (例:VARCHAR(2147483647))、NULL 許可の有無など) が表示されます。
-
ノードまたはカラムの検索
リネージグラフが複雑な場合、ノード名またはカラム名のあいまい検索を使用すると、対象をすばやく特定して情報を確認できます。
-
ページの、対象のデプロイメントの [データリネージ] タブで、検索ボックスに対象のノード名または列名 (列レベルでのみサポート) を入力して Enter キーを押します。
中央ノードが現在のデプロイメントから検索対象に移動し、ハイライト表示されます。
-
対象のノード名またはカラム名をダブルクリックして、リネージ情報を確認します。