DataWorks の Data Studio は、さまざまなデータ処理タスクに対応する多様なノードを提供します。同期用のデータ統合ノード、データクレンジング用のエンジンコンピューティングノード (MaxCompute SQL、Hologres SQL、EMR Hive など)、複雑なロジック処理用の汎用ノード (仮想ノードや do-while ループノードなど) があります。これらのノードを連携させることで、さまざまなデータ処理の課題に効果的に対応できます。
サポートされているノードタイプ
定期スケジュールでサポートされるノードタイプは、手動タスクや手動トリガーワークフローでサポートされるものとは異なる場合があります。最も正確な情報は UI で確認できます。
ノードの可用性は DataWorks のエディションやリージョンによって異なります。最も正確な情報については、UI をご参照ください。
一部のノードはワークフローではサポートされていません。詳細については、各ノードのドキュメントをご参照ください。
ノードタイプ | ノード名 | 説明 | ノードコード | タスクタイプ |
データ統合 | さまざまな異種データソース間で定期的にバッチでデータを同期し、複雑なシナリオに適しています。 バッチ同期でサポートされているデータソースの詳細については、「サポートされているデータソースと同期ソリューション」をご参照ください。 | 23 | DI | |
ソースデータベースからターゲットデータベースへのデータ変更をリアルタイムで同期します。単一テーブルまたはデータベース全体を同期して、データ整合性を確保できます。 リアルタイム同期でサポートされているデータソースの詳細については、「サポートされているデータソースと同期ソリューション」をご参照ください。 | 900 | RI | ||
ノートブック | データ処理と分析のための柔軟でインタラクティブなプラットフォームを提供します。直感的でモジュール化されたインタラクティブな設計により、データ処理、探索、可視化、モデル構築がより効率的になります。 | 1323 | NOTEBOOK | |
MaxCompute | 定期的な MaxCompute SQL タスクをサポートします。これらのタスクは、SQL に似た構文を使用して、リアルタイム性能が重要でないテラバイト規模のデータセットを分散処理します。 | 10 | ODPS_SQL | |
SQL コンポーネントは、複数の入出力パラメーターを持つ再利用可能な SQL コードテンプレートです。ソーステーブルをフィルタリング、結合、集約して結果テーブルを生成することでデータを処理します。SQL コンポーネントノードを作成して、データ処理ワークフローを迅速に構築し、開発効率を向上させることができます。 | 1010 | COMPONENT_SQL | ||
複数の SQL ステートメントを単一のスクリプトにまとめてコンパイルおよび実行します。このノードは、ネストされたサブクエリや複数ステップの操作など、複雑なクエリシナリオに最適です。スクリプト全体を一度に送信すると、統一された実行計画が生成されます。これにより、ジョブのキューイングと実行が一度で済み、リソース効率が向上します。 | 24 | ODPS_SQL_SCRIPT | ||
このノードは MaxCompute Python SDK を統合しており、Python を使用して MaxCompute でのデータ処理および分析タスクを実行できます。 | 221 | PY_ODPS | ||
PyODPS 3 ノードを使用して、Python で直接 MaxCompute ジョブを記述し、定期的なスケジューリングのためにジョブを構成します。 | 1221 | PYODPS3 | ||
MaxCompute に基づくオフライン Spark ジョブをクラスターモードで実行することをサポートします。 | 225 | ODPS_SPARK | ||
このノードを使用して、MapReduce Java API で MapReduce プログラムを記述およびスケジュールし、MaxCompute の大規模なデータセットを処理します。 | 11 | ODPS_MR | ||
Data Catalog の MaxCompute メタデータマッピング機能を使用して、Hologres 内から MaxCompute データへのクエリを高速化します。MaxCompute テーブルのメタデータを Hologres にマッピングし、データアクセスを高速化する外部テーブルを作成します。 | - | - | ||
単一の MaxCompute テーブルから Hologres にデータを同期し、効率的なビッグデータ分析とリアルタイムクエリを実現します。 | - | - | ||
Hologres | Hologres インスタンス内のデータをクエリします。Hologres は MaxCompute とシームレスに統合されているため、このノードで標準の PostgreSQL ステートメントを使用して、移行なしで MaxCompute の大規模データを直接クエリおよび分析し、迅速な結果を提供できます。 | 1093 | HOLOGRES_SQL | |
単一の Hologres テーブルから MaxCompute にデータを移行します。 | 1070 | HOLOGRES_SYNC_DATA_TO_MC | ||
MaxCompute からテーブルスキーマを迅速にインポートして、同じスキーマを共有する複数の Hologres 外部テーブルを作成します。 | 1094 | HOLOGRES_SYNC_DDL | ||
MaxCompute から Hologres データベースにデータを迅速に同期します。 | 1095 | HOLOGRES_SYNC_DATA | ||
Serverless Spark | 大規模なデータ処理のための Serverless Spark ノード。 | 2100 | SERVERLESS_SPARK_BATCH | |
標準 SQL をサポートし、高性能なデータ分析を提供する Serverless Spark SQL クエリノードです。 | 2101 | SERVERLESS_SPARK_SQL | ||
Kyuubi JDBC または ODBC インターフェイスを介して Serverless Spark に接続し、マルチテナントの Spark SQL サービスを提供します。 | 2103 | SERVERLESS_KYUUBI | ||
Serverless StarRocks | EMR Serverless StarRocks に基づく SQL ノード。オープンソースの StarRocks SQL 構文と互換性があり、高速な OLAP とレイクハウスのクエリ分析を提供します。 | 2104 | SERVERLESS_STARROCKS | |
大規模言語モデル | 組み込みのデータ処理およびデータマイニングエンジンを備えています。自然言語の命令に基づいて、データクレンジングとデータマイニングをインテリジェントに実行します。 | 2200 | LLM_NODE | |
Flink | 標準 SQL を使用してリアルタイムタスクの処理ロジックを定義します。この使いやすいノードは、豊富な SQL 構文、強力な状態管理、フォールトトレランスをサポートします。イベント時間と処理時間の両方と互換性があり、拡張性が高く、Kafka や HDFS などのシステムと統合されています。詳細なログ記録とパフォーマンスモニタリングツールが含まれています。 | 2012 | FLINK_SQL_STREAM | |
標準 SQL を使用してデータ処理タスクを定義および実行します。このノードは、クレンジングや集約を含む大規模なデータセットの分析と変換に適しています。大規模なバッチ処理のための効率的で柔軟なソリューションを提供し、視覚的な構成をサポートします。 | 2011 | FLINK_SQL_BATCH | ||
EMR | SQL に似たステートメントを使用して大規模なデータセットを読み書きし、大量のログデータを効率的に分析します。 | 227 | EMR_HIVE | |
ペタバイト規模のデータに対して高速なリアルタイムクエリを実行するためのインタラクティブな SQL クエリエンジン。 | 260 | EMR_IMPALA | ||
大規模なデータセットを複数の並列 Map タスクに分割し、データ処理効率を大幅に向上させます。 | 230 | EMR_MR | ||
インタラクティブなデータ分析のための柔軟でスケーラブルな分散 SQL クエリエンジン。 | 259 | EMR_PRESTO | ||
データ処理、Hadoop コンポーネントの呼び出し、ファイル操作などの高度なタスクのためにカスタムシェルスクリプトを編集します。 | 257 | EMR_SHELL | ||
大規模で低遅延のデータ分析アプリケーションを構築するためのパフォーマンス専有型の汎用分析エンジン。複雑なインメモリコンピューティングをサポートします。 | 228 | EMR_SPARK | ||
構造化データを処理し、ジョブの実行効率を向上させるための分散 SQL クエリエンジン。 | 229 | EMR_SPARK_SQL | ||
高スループットのリアルタイムストリーミングデータを処理します。組み込みのフォールトトレランスにより、データストリームのエラーからの迅速な回復が保証されます。 | 264 | EMR_SPARK_STREAMING | ||
複数のデータソースにまたがるインタラクティブな分析に適した分散 SQL クエリエンジン。 | 267 | EMR_TRINO | ||
Spark、Flink、Trino などのデータレイククエリエンジンに SQL などのクエリサービスを提供する分散型マルチテナントゲートウェイ。 | 268 | EMR_KYUUBI | ||
ADB | 定期的な AnalyticDB for PostgreSQL タスクを開発およびスケジュールします。 | 1000090 | - | |
定期的な AnalyticDB for MySQL タスクを開発およびスケジュールします。 | 1000126 | - | ||
定期的な AnalyticDB Spark タスクを開発およびスケジュールします。 | 1990 | ADB_SPARK | ||
定期的な AnalyticDB Spark SQL タスクを開発およびスケジュールします。 | 1991 | ADB_SPARK_SQL | ||
CDH | CDH クラスターをデプロイ済みで、DataWorks で Hive タスクを実行したい場合に使用します。 | 270 | CDH_HIVE | |
大規模で低遅延のデータ分析アプリケーションを構築するためのパフォーマンス専有型の汎用分析エンジン。複雑なインメモリ分析をサポートします。 | 271 | CDH_SPARK | ||
構造化データを処理し、ジョブの実行効率を向上させるための分散 SQL クエリエンジン。 | 272 | CDH_SPARK_SQL | ||
超大規模なデータセットを処理します。 | 273 | CDH_MR | ||
CDH 環境のデータ分析能力を強化する分散 SQL クエリエンジン。 | 278 | CDH_PRESTO | ||
Impala SQL スクリプトを記述および実行して、クエリパフォーマンスを高速化します。 | 279 | CDH_IMPALA | ||
Lindorm | 定期的な Lindorm Spark タスクを開発およびスケジュールします。 | 1800 | LINDORM_SPARK | |
定期的な Lindorm Spark SQL タスクを開発およびスケジュールします。 | 1801 | LINDORM_SPARK_SQL | ||
ClickHouse | 構造化データに対して分散 SQL クエリを実行し、ジョブの効率を向上させます。 | 1301 | CLICK_SQL | |
データ品質 | モニタリングルールを構成して、データソースのテーブルのデータ品質をチェックします (例:ダーティデータのチェック)。また、スケジューリングポリシーをカスタマイズして、これらの検証タスクを定期的に実行することもできます。 | 1333 | DATA_QUALITY_MONITOR | |
さまざまな方法で異なるテーブルのデータを比較します。 | 1331 | DATA_SYNCHRONIZATION_QUALITY_CHECK | ||
汎用 | データを生成せずにドライランを実行するコントロールノードです。通常、ワークフローのルートノードとして使用され、他のノードやワークフローを管理します。 | 99 | VIRTUAL | |
ノード間でパラメーターを渡します。最後のクエリの結果またはその出力をノードコンテキストを通じて下流ノードに送信し、ノード間のパラメーター渡しを可能にします。 | 1100 | CONTROLLER_ASSIGNMENT | ||
標準のシェル構文をサポートしますが、インタラクティブな構文はサポートしません。 | 6 | DIDE_SHELL | ||
上流ノードからのパラメーターを集約し、下流ノードに渡します。 | 1115 | PARAM_HUB | ||
OSS オブジェクトを監視することで、下流ノードの実行をトリガーします。 | 239 | OSS_INSPECT | ||
Python 3 をサポートします。スケジューリング構成を通じて上流のパラメーターを取得し、カスタムパラメーターを構成できます。また、ノードの出力をパラメーターとして下流ノードに渡すこともできます。 | 1322 | PYTHON | ||
上流ノードの実行ステータスをマージします。これにより、分岐ノードの下流ノードの依存関係とトリガーの問題が解決されます。 | 1102 | CONTROLLER_JOIN | ||
上流ノードの結果を評価して、実行するロジックの分岐を決定します。代入ノードと組み合わせて使用できます。 | 1101 | CONTROLLER_BRANCH | ||
代入ノードによって渡された結果セットを走査します。 | 1106 | CONTROLLER_TRAVERSE | ||
ワークフローロジックの一部をループします。代入ノードと併用すると、そのノードから渡された結果をループして出力できます。 | 1103 | CONTROLLER_CYCLE | ||
ターゲットオブジェクトが利用可能かどうかをチェックします。オブジェクトがチェックポリシーを満たしている場合、ノードは正常に実行され、下流のタスクをトリガーします。サポートされているターゲットオブジェクトは次のとおりです:
| 241 | CHECK_NODE | ||
イベント処理関数を定期的に実行するようにスケジュールします。 | 1330 | FUNCTION_COMPUTE | ||
別のスケジューリングシステムでタスクが完了した後に DataWorks でタスクをトリガーしたい場合に使用します。 説明 DataWorks はクロステナントコラボレーションノードの作成をサポートしなくなりました。クロステナントコラボレーションノードを使用している場合は、HTTP トリガーノードに置き換えることを推奨します。HTTP トリガーノードは同じ機能を提供します。 | 1114 | SCHEDULER_TRIGGER | ||
SSH データソースを指定して、DataWorks から接続されたホストにリモートアクセスし、その上でスクリプトを実行するようにトリガーします。 | 1321 | SSH | ||
Data Studio ワークフロー内の他のノードからのクエリ結果を、DingTalk、Lark、WeCom、Microsoft Teams、メールなどのさまざまな送信先にプッシュします。 | 1332 | DATA_PUSH | ||
MySQL ノード | 定期的な MySQL タスクを開発およびスケジュールします。 | 1000125 | - | |
SQL Server ノード | 定期的な SQL Server タスクを開発およびスケジュールします。 | 10001 | - | |
Oracle ノード | 定期的な Oracle タスクを開発およびスケジュールします。 | 10002 | - | |
PostgreSQL ノード | 定期的な PostgreSQL タスクを開発およびスケジュールします。 | 10003 | - | |
StarRocks ノード | 定期的な StarRocks タスクを開発およびスケジュールします。 | 10004 | - | |
DRDS ノード | 定期的な DRDS タスクを開発およびスケジュールします。 | 10005 | - | |
PolarDB MySQL ノード | 定期的な PolarDB for MySQL タスクを開発およびスケジュールします。 | 10006 | - | |
PolarDB PostgreSQL ノード | 定期的な PolarDB for PostgreSQL タスクを開発およびスケジュールします。 | 10007 | - | |
Doris ノード | 定期的な Doris タスクを開発およびスケジュールします。 | 10008 | - | |
MariaDB ノード | 定期的な MariaDB タスクを開発およびスケジュールします。 | 10009 | - | |
SelectDB ノード | 定期的な SelectDB タスクを開発およびスケジュールします。 | 10010 | - | |
Redshift ノード | 定期的な Redshift タスクを開発およびスケジュールします。 | 10011 | - | |
SAP HANA ノード | 定期的な SAP HANA タスクを開発およびスケジュールします。 | 10012 | - | |
Vertica ノード | 定期的な Vertica タスクを開発およびスケジュールします。 | 10013 | - | |
DM (Dameng) ノード | 定期的な DM タスクを開発およびスケジュールします。 | 10014 | - | |
KingbaseES ノード | 定期的な KingbaseES タスクを開発およびスケジュールします。 | 10015 | - | |
OceanBase ノード | 定期的な OceanBase タスクを開発およびスケジュールします。 | 10016 | - | |
DB2 ノード | 定期的な DB2 タスクを開発およびスケジュールします。 | 10017 | - | |
GBase 8a ノード | 定期的な GBase 8a タスクを開発およびスケジュールします。 | 10018 | - | |
アルゴリズム | PAI Designer は、エンドツーエンドの機械学習開発ワークフローを構築するためのビジュアルモデリングツールです。 | 1117 | PAI_STUDIO | |
PAI DLC は、分散トレーニングタスクを実行するために使用されるコンテナベースのトレーニングサービスです。 | 1119 | PAI_DLC | ||
PAI ナレッジベースインデックスワークフローを実行するためのノード。 | 1250 | PAI_FLOW | ||
ロジックノード | SUB_PROCESS ノードは、複数のワークフローを統一されたエンティティに統合し、管理とスケジューリングを行います。 | 1122 | SUB_PROCESS |
ノードの作成
定期ワークフローノードの作成
タスクを時間単位、日単位、週単位などの定期スケジュールで実行するには、定期タスクノードを作成します。これは、新しいノードを作成するか、定期ワークフローに内部ノードを追加するか、既存のノードをクローンすることで実行できます。
DataWorks コンソールの ワークスペース ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[操作] 列で を選択します。
左側のナビゲーションウィンドウで、
アイコンをクリックして Data Studio ページに移動します。
定期タスクノードの作成
ワークスペースディレクトリの右側にある
アイコンをクリックし、[ノードの作成] を選択し、次に ノードタイプ を選択します。重要[共通ノード] と [すべてのノード] のリストが表示されます。完全なリストを表示するには、下部にある [すべてのノード] を選択します。また、検索ボックス を使用してノードを検索したり、MaxCompute、データ統合、汎用などの カテゴリ でフィルタリングして必要なノードを見つけることもできます。
事前にディレクトリを作成して、ノードを整理・管理することができます。
ノードの名前を入力して保存します。これにより、ノードエディターページにリダイレクトされます。
内部ノードの追加
定期ワークフロー を作成します。
ワークフローキャンバスで、ツールバーの [ノードの作成] をクリックします。タスクの要件に基づいて ノードタイプ を選択し、キャンバスにドラッグします。
ノードの名前を入力して保存します。
ノードのクローン
クローン機能を使用して、既存のノードから新しいノードを作成できます。クローンされる内容には、ノードの Scheduling Settings ( Scheduling Parameters、Scheduling time、Scheduling Dependency など) が含まれます。
左側の [ワークスペースディレクトリ] で、クローンしたいノードを右クリックし、コンテキストメニューから Cloning を選択します。
表示されるダイアログボックスで、ノードの Name と Path を変更 (またはデフォルト値を維持) し、Confirm をクリックします。
クローンが完了すると、新しいノードが [ワークスペースディレクトリ] に表示されます。
手動トリガーワークフローノードの作成
タスクを定期的に実行する必要はないが、オンデマンド実行のために本番環境にデプロイする必要がある場合は、手動トリガーワークフローに内部ノードを作成できます。
DataWorks コンソールの ワークスペース ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[操作] 列で を選択します。
左側のナビゲーションウィンドウで、
アイコンをクリックします。手動トリガーワークフロー を作成します。
手動トリガーワークフローエディターページの上部にあるツールバーで、New Internal Node をクリックし、適切な ノードタイプ を選択します。
ノードの名前を入力して保存します。
手動タスクノードの作成
DataWorks コンソールの ワークスペース ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[操作] 列で を選択します。
左側のナビゲーションウィンドウで、
アイコンをクリックして手動タスクページに移動します。[手動でトリガーされるタスク] セクションで、Manually Triggered Task の右側にある
アイコンをクリックし、New Node を選択し、次に必要なノードタイプを選択します。説明手動タスクノードは、Offline synchronization、Notebook、[MaxCompute SQL]、[MaxCompute スクリプト]、[PyODPS 2]、[MaxCompute MR]、[Hologres SQL]、[Python ノード]、および [シェルノード] のみをサポートします。
ノードの名前を入力して保存します。これにより、ノードエディターページにリダイレクトされます。
ノードの一括編集
ワークフローに多数のノードが含まれている場合、個別に編集するのは非効率です。DataWorks は [内部ノードリスト] 機能を提供しており、キャンバスの右側にあるリストですべてのノードを迅速にプレビュー、検索、一括編集できます。
使用方法
ワークフローキャンバスのツールバーで、[内部ノードリストの表示] をクリックして右側のパネルを開きます。

パネルには、現在のワークフロー内のすべてのノードが一覧表示されます。
コードプレビューとソート:
MaxCompute SQL など、コード編集をサポートするノードの場合、コードエディタはデフォルトで展開されます。
仮想ノードなど、コード編集をサポートしないノードは、リストの下部にカードとして表示されます。
クイック検索と特定:
検索:上部の検索ボックスにキーワードを入力して、ノード名 であいまい検索を実行します。
同期フォーカス:キャンバスとサイドバーの間でフォーカスが同期されます。キャンバスでノードを選択すると、サイドバーで対応するノードがハイライトされます。同様に、サイドバーでノードをクリックすると、キャンバスが自動的にそのノードにフォーカスします。
オンライン編集:
操作:各ノードカードの右上隅には、[最新コードのロード]、[ノードを開く]、[編集] などのショートカットがあります。
自動保存:編集モードに入った後、コードブロックがフォーカスを失うと変更が自動的に保存されます。
競合検出:編集中に別のユーザーがコードを更新した場合、保存時に失敗通知が表示されます。これにより、誤って他のユーザーの変更を上書きするのを防ぎます。
フォーカスモード:
ノードを選択し、フローティングウィンドウの右上隅にある
をクリックして [フォーカスモード] を有効にします。サイドバーには選択したノードのみが表示され、コード編集のためのスペースが広くなります。
バージョン管理
バージョン管理機能を使用すると、ノードを以前のバージョンに復元できます。また、バージョンの表示と比較ツールも提供されており、差異を分析して調整するのに役立ちます。
左側のナビゲーションウィンドウの [ワークスペースディレクトリ] で、ターゲットノード名をダブルクリックしてノードエディターを開きます。
ノードエディターページの右側にある Version をクリックします。Version ページでは、Developer Record タブと Publish Record タブでバージョンを表示および管理できます。
Viewバージョン:
Developer Record または Publish Record タブで、目的のバージョンを見つけます。
Operation 列の View をクリックして、詳細ページでノードコードと Scheduling Settings を表示します。
説明Scheduling Settings の情報は、スクリプトモードと可視化モードで表示できます。Scheduling Settings タブの右上隅で表示モードを切り替えることができます。
Compareバージョン:
Developer Record または Publish Record タブで、ノードの異なるバージョンを比較できます。以下の手順では、[開発履歴] タブを例として使用します。
開発環境またはデプロイ環境内でのバージョン比較:Developer Record タブで、2つのバージョンを選択し、上部にある Select Comparison をクリックします。その後、2つのバージョンのノードコードとスケジューリング構成を比較できます。
開発環境とデプロイ環境またはビルド環境間のバージョン比較:
Developer Record タブで、バージョンを見つけます。
Operation 列の Compare をクリックします。詳細ページで、Publish Record または Build Records タブから比較対象のバージョンを選択します。
Restoreバージョン:
ノードを特定の履歴バージョンに戻すことができるのは、その Developer Record からのみです。ターゲットバージョンを見つけ、Operation 列の Restore をクリックすると、ノードのコードと Scheduling Settings がターゲットバージョンに戻ります。
関連ドキュメント
定期ワークフローおよび手動トリガーワークフローでのノード開発については、「定期ワークフローオーケストレーション」および「手動トリガーワークフロー」をご参照ください。
ノードを作成および開発した後、本番環境にデプロイできます。詳細については、「ノードスケジューリング設定」および「ノードとワークフローの公開」をご参照ください。
よくある質問
SQL や Python などのノードコードをローカルマシンにダウンロードできますか?
回答:直接のダウンロードはできません。回避策として、開発中にコードをローカルマシンにコピーできます。または、新しい Data Studio では、ローカルファイルを追加して個人フォルダで開発することができます。これにより、コードが直接ローカルマシンに保存されます。開発が完了したら、コードをワークスペースディレクトリに送信します。