📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

データリネージ



データリネージは、データがソースオブジェクトからターゲットオブジェクトへどのように移動するかを示します。これを使用すると、依存関係の把握、変更の影響評価、データパイプラインのトラブルシューティング、派生カラムのソース追跡が可能になります。

TiDB Cloud Lake は、オブジェクトレベルとカラムレベルの両方の関係を記録します。

  • 上流リネージ は、オブジェクトにデータを供給するテーブル、ビュー、または stage を特定します。
  • 下流リネージ は、オブジェクトのデータを利用するオブジェクトを特定します。
  • カラムリネージ は、ソースカラムと派生したターゲットカラムの対応関係を示します。

TiDB Cloud Lake におけるテーブルおよびカラムのリネージ

データリネージを有効化する

TiDB Cloud Lake は、Lineage タブ(Data > Databases > databaseName > tableName)をサポートする Warehouse のリネージ設定を管理します。

リネージを生成する

リネージを有効化すると、TiDB Cloud Lake は CREATE TABLE ... AS SELECT、CREATE VIEW、INSERT ... SELECT、複数テーブルへの INSERT、REPLACE、MERGE、COPY などの操作によって作成された関係を自動的に記録します。ストリームは、その基盤となるテーブルに解決されます。

次の例では、2 ホップのリネージパスを作成します。

CREATE OR REPLACE DATABASE lineage_demo; CREATE OR REPLACE TABLE lineage_demo.fact_orders ( order_id BIGINT, customer_id BIGINT, amount DECIMAL(12, 2), order_time TIMESTAMP ); CREATE OR REPLACE TABLE lineage_demo.agg_customer_sales AS SELECT customer_id, sum(amount) AS total_amount, count(*) AS order_count, max(order_time) AS last_order_time FROM lineage_demo.fact_orders GROUP BY customer_id; CREATE OR REPLACE TABLE lineage_demo.customer_segments AS SELECT customer_id, total_amount, order_count, if(total_amount >= 1000, 'high_value', 'standard') AS segment, now() AS updated_at FROM lineage_demo.agg_customer_sales;

リネージを探索する

TiDB Cloud Lake で、Database Explorer からテーブルまたはビューを開き、Lineage タブを選択します。グラフには上流および下流のオブジェクトが表示され、カラムリネージが利用可能な場合はカラム間の接続も表示されます。

SQL でリネージを取得するには、GET_LINEAGE テーブル関数を使用します。

SELECT distance, source_object_database, source_object_name, target_object_database, target_object_name FROM GET_LINEAGE( 'lineage_demo.agg_customer_sales', 'TABLE', 'UPSTREAM', 2 ) ORDER BY distance;

カラムレベルのリネージについては、カラム名を修飾し、COLUMN ドメインを使用します。

SELECT distance, source_object_name, source_column_name, target_object_name, target_column_name FROM GET_LINEAGE( 'lineage_demo.customer_segments.segment', 'COLUMN', 'UPSTREAM', 2 ) ORDER BY distance;

既存のビューのリネージを更新する

リネージを有効化した後に作成されたビューは、自動的に追跡されます。すでにビューを含むデプロイでリネージを有効化した場合は、不足している関係または古くなった関係をプレビューしてから更新します。

REFRESH LINEAGE FOR ALL VIEWS DRY RUN; REFRESH LINEAGE FOR ALL VIEWS;

この更新では、default カタログ内のすべてのビューのリネージが整合されます。変更が必要なビュー、または処理できなかったビューのみが報告され、変更不要のビューは出力されません。このコマンドにはグローバル SUPER 権限が必要です。出力の詳細については、REFRESH LINEAGE を参照してください。

OpenMetadata へのエクスポート

OpenMetadata で TiDB Cloud Lake のリネージを表示するには、lake-openmetadata-ingestion を使用します。このツールは、REST API を通じて、TiDB Cloud Lake から OpenMetadata にメタデータ(データベース、テーブル、ビュー、カラム)とリネージ(テーブルレベルおよびカラムレベル)をプッシュします。インストール、設定、および使用方法については、プロジェクトの README を参照してください。

制限事項

  • GET_LINEAGE がたどれるのは最大 5 ホップです。
  • システムオブジェクトおよび information_schema オブジェクトは、リネージのソースから除外されます。
  • stage はオブジェクトレベルのリネージには含まれますが、stage 上のファイルフィールドでは安定したカラムレベルのマッピングは提供されません。
  • 外部カタログのオブジェクトはエンドポイントとして表示されることがありますが、外部カタログの境界を越えてたどることはできません。
  • 結果には、現在のロールから参照可能なオブジェクトのみが含まれます。

このページは役に立ちましたか?