すべてのプロダクト
Search
ドキュメントセンター

DataWorks:ノードタイプごとの自動解析シナリオ

最終更新日:Mar 27, 2026

自動解析は、ノードのコードに記述された SQL ステートメントを読み取り、スケジューリング依存関係を推論する機能です。出力または先祖ノードを手動で構成することなく、自動的に追加します。本トピックでは、各ノードタイプにおける自動解析の動作方法と、自動解析がサポートされないシナリオについて説明します。

自動解析の仕組み

DataWorks は、ノードのコードに含まれる SQL ステートメントをスキャンします。検出された SQL キーワードに基づき、当該ノードが読み取るデータおよび書き込むデータを特定します:

  • 書き込みステートメント(CREATE、INSERT など) — DataWorks はノードに 出力 を追加します。出力名は、ノードが書き込むテーブルを識別します。

  • 読み取りステートメント(SELECT) — DataWorks はノードに 先祖ノード を追加します。先祖ノード名は、読み込まれる上流テーブルを識別します。

たとえば、Node A が orders_clean に書き込み、Node B が orders_clean から読み取る場合、DataWorks は自動的に Node A を Node B の先祖ノードとして設定します。手動による依存関係の構成は不要です。

ノードタイプ別の構成

以下の表は、自動解析をトリガーする SQL ステートメントと、DataWorks が生成する出力または先祖ノード名のフォーマットを示しています。

ノードタイプ SQL ステートメント DataWorks が追加するもの 出力名のフォーマット
ODPS ノード CREATE、INSERT 出力 odps_project_name.table_name
ODPS ノード SELECT 先祖ノード project_name.table_name
SQL ノード(ODPS 以外) CREATE、INSERT、ALTER、UPDATE 出力 下記の表をご参照ください
SQL ノード(ODPS 以外) SELECT 先祖ノード project_name.table_name
バッチ同期ノード すべて サポートされていません スケジューリング依存関係を手動で構成してください

ODPS 以外の SQL ノードにおける出力名のフォーマット:

エンジン フォーマット
E-MapReduce (EMR) workspace_name.db_name.table_name
AnalyticDB for PostgreSQL workspace_name.db_name.schema_name.table_name
AnalyticDB for MySQL workspace_name.db_name.schema_name.table_name
Hologres workspace_name.db_name.schema_name.table_name

フォーマット構成要素:

プレースホルダー 説明
odps_project_name ODPS ノードが属する DataWorks ワークスペース
project_name テーブルを生成するノードが属するワークスペース
workspace_name 当該ノードが属する DataWorks ワークスペース
db_name データが書き込まれるデータベース
schema_name ノードのスキーマ
table_name 生成されるテーブルの名前

制限事項

以下のシナリオでは自動解析が適用されません。これらのケースでは、テーブルをノードの 出力 に手動で追加してください。

サポートされていないノードタイプ

一部のノードタイプでは自動解析がサポートされていません。たとえば、バッチ同期ノードおよび AnalyticDB for PostgreSQL ノードでは、スケジューリング依存関係の自動解析による構成ができません。これらのノードによって生成されるテーブルは、ノードの出力に手動で追加する必要があります。

特定のノードタイプが自動解析をサポートしているかどうかを確認するには、DataWorks コンソールで当該ノードを開き、その構成を確認してください。

一時テーブル

SQL ステートメントによって作成された一時テーブルは、自動解析の対象となりません。たとえば、ご利用のワークスペースで t_ プレフィックスを持つテーブルを一時テーブルとして扱っている場合、それらのテーブルは 出力 および 親ノード に自動的に追加されません。必要に応じて手動で追加してください。

同期ノードによって生成されるテーブル

同期ノードがテーブルを生成した後は、projectname.tablename の形式で、当該テーブルをノードの出力として手動で追加してください。出力が追加されると、そのテーブルを読み取る子孫ノードは、自動解析を用いて自身のスケジューリング依存関係を構成できます。