DataWorks のデータマップサービスを使用すると、テーブルまたは DataService Studio API の詳細ページで、テーブルまたは DataService Studio API の系統発生の詳細を表示できます。系統発生の詳細を使用して、データを追跡および管理できます。このトピックでは、データマップで系統発生を表示する方法について説明します。
テーブルの系統発生
系統発生を表示するためのエントリポイント
系統発生の詳細を表示するテーブルの詳細ページに移動し、[系統発生] タブをクリックして、テーブルレベルおよびフィールドレベルの系統発生の詳細を表示します。また、タブで次の操作を実行することもできます。影響の分析、現在のテーブルの子孫テーブルのリストの取得とオンプレミス マシンへのリストのダウンロード、変更通知をメールで送信できるようにするためのパラメータの設定。
データマップでは、テーブル間およびフィールド間の系統発生を表示できます。系統発生は、スケジューリング ジョブのデータとデータフロー情報を解析することによって取得されます。アドホッククエリなど、手動操作によって生成された系統発生は含まれません。系統発生の詳細はオフラインモードで収集され、1 日の遅延で更新されます。
さまざまなタイプのデータソースの制限
DataWorks で DataLake またはカスタム クラスタのメタデータを管理する場合、最初にクラスタで EMR-HOOK を設定する必要があります。クラスタで EMR-HOOK を設定しない場合、DataWorks にデータの系統発生は表示されません。 EMR-HOOK の設定方法の詳細については、「Hive 拡張機能を使用してデータの系統発生と履歴アクセス情報を記録する」をご参照ください。
EMR on ACK ページで作成された Spark クラスタのデータの系統発生、または EMR Serverless Spark クラスタのデータの系統発生は表示できません。
EMR Presto ノードを使用して開発されたタスクのデータの系統発生は表示できません。
AnalyticDB for MySQL テーブルの場合、特定の SQL ステートメントでは、データマップでの系統発生の生成はサポートされていません。
データマップでの系統発生の表示をサポートしていない SQL ステートメント
サポートされていない SQL ステートメント
例
join
キーワードとunion
キーワード、またはアスタリスク(*
)を含む SQL ステートメントたとえば、次の SQL ステートメントにはアスタリスク(
*
)が含まれているため、データマップでは系統発生を表示できません。insert into test select * from test1, test2 where test1.id = test2.id
サブクエリを含む SQL ステートメント
たとえば、次の SQL ステートメントにはサブクエリが含まれているため、データマップでは系統発生を表示できません。
SELECT column1, column2 FROM table1 WHERE column3 IN (SELECT column4 FROM table2 WHERE column5 = 'value')
系統発生の表示をサポートする SQL ステートメントの例
例 1:列情報を含まないテーブル A を作成し、テーブル B から特定の列をテーブル A の内容として選択します。SQL ステートメントにはアスタリスク(*)は含まれていません。ステートメントの例:
create table test as select id,name from test1;
例 2:column1= value1 条件を満たす特定の列をテーブル A から、列情報を含まないテーブル B に挿入します。SQL ステートメントにはアスタリスク(*)は含まれていません。ステートメントの例:
insert into test select id,name from test1 where name='test';
例 3:テーブル A からデータベース内のテーブル B に特定の列を挿入し、テーブル B のデータを上書きします。SQL ステートメントにはアスタリスク(*)は含まれていません。ステートメントの例:
INSERT OVERWRITE INTO db_name.test SELECT id,name from test1;
特定のデータ処理モジュールで CDH Spark SQL ノードと CDH Spark ノードによって処理されるデータを持つテーブルの系統発生をデータマップに表示する場合、[settingcenter] の [クラスタ管理] ページで、関連する CDH クラスタの [Spark 関連パラメータ] タブでパラメータを設定できます。
SettingCenter ページに移動します。
DataWorks コンソール にログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、 を選択します。表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターに移動] をクリックします。
左側のナビゲーションペインで、[クラスタ管理] をクリックします。表示されるページで、目的の CDH クラスタを見つけます。
[spark 関連パラメータ] タブをクリックします。
データ処理モジュールに基づいて Spark 関連パラメータを追加します。
たとえば、オペレーションセンターの [自動トリガーインスタンス] ページで CDH Spark SQL ノードと CDH Spark ノードによって処理されるデータを持つテーブルの系統発生をデータマップに表示する場合、対応するモジュールに次のパラメータを追加します。
[spark プロパティ名]:パラメータを
spark.sql.queryExecutionListeners
に設定します。[spark プロパティ値]:パラメータを
com.aliyun.dataworks.meta.lineage.LineageListener
に設定します。
[完了] をクリックします。
さまざまなデータソースのリネージ表示の説明
データソース | データ統合 | データ開発 | ||
テーブルレベルのリネージ | フィールドレベルのリネージ | テーブルレベルのリネージ | フィールドレベルのリネージ |
データソース | データ統合 | データ開発 | ||
テーブルレベルのリネージ | フィールドレベルのリネージ | テーブルレベルのリネージ | フィールドレベルのリネージ | |
MaxCompute
|
|
|
|
|
Hologres
|
|
|
|
|
E-MapReduce
|
(OSS と Hive)
|
(OSS と Hive)
| Hive、Spark (spark-submit)、Spark SQL (Hudi 形式対応)、および Shell (Beeline クライアントを使用して送信された Hive SQL)
| Hive、Spark (spark-submit)、Spark SQL (Hudi 形式対応)、および Shell (Beeline クライアントを使用して送信された Hive SQL)
|
AnalyticDB MySQL
|
|
|
|
|
AnalyticDB PostgreSQL
|
|
|
|
|
StarRocks
|
|
|
|
|
ClickHouse
|
|
|
|
|
CDH/CDP
|
|
| Hive、Impala、Spark、および Spark SQL
| Hive、Impala、Spark、および Spark SQL
|
MySQL
|
(MySQL から MaxCompute または Hologres にデータを同期) |
|
|
|
PostgreSQL
|
|
|
|
|
SQL Server
|
|
|
|
|
Tablestore
|
|
|
|
|
Oracle
|
|
|
|
|
OceanBase
|
|
|
|
|
OSS
|
|
|
|
|
PolarDB MySQL
|
|
|
|
|
PolarDB PostgreSQL
|
|
|
|
|
Kafka
|
(Kafka から MaxCompute または Hologres にデータを同期) |
|
|
|
DataService Studio API の系列
系列の詳細を表示する DataService Studio API の詳細ページに移動し、[系列] タブをクリックして API の系列の詳細を表示します。