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

DataWorks:EMR Presto ノードの作成

最終更新日:Aug 21, 2026

EMR Presto ノードでは、Alibaba Cloud E-MapReduce (EMR) クラスターに対して Presto SQL クエリを作成し、DataWorks で定期的に実行できます。

制限事項

制約 詳細
クラスタータイプ レガシー Hadoop データレイククラスターのみ。 DataLake および Custom クラスターはサポートされていません。
リソースグループ サーバーレスリソースグループまたはスケジューリング専用リソースグループ。 可能な場合は、サーバーレスリソースグループを使用してください。
SQL ステートメントのサイズ 各 SQL ステートメントは 130 KB を超えることはできません。
クエリ結果 1 回のクエリで、最大 10,000 レコード、10 MB のデータを返します。
データリネージ EMR Presto ノードではサポートされていません。

前提条件

開始する前に、次のことを確認してください:

ステップ 1:EMR Presto ノードの作成

  1. DataStudio ページに移動します。 DataWorks コンソールにログインします。 上部メニューで、リージョンを選択します。 左側メニューで、[データ開発と O&M] > [データ開発] を選択します。 ドロップダウンリストからワークスペースを選択し、[データ開発へ] をクリックします。

  2. ワークフローディレクトリで、対象のワークフローを右クリックし、[ノードの作成] > [EMR] > [EMR Presto] を選択します。

    または、[作成] にカーソルを合わせ、[ノードの作成] > [EMR] > [EMR Presto] を選択します。
  3. [ノードの作成] ダイアログボックスで、以下のフィールドを設定し、[確認] をクリックします。 EMR Presto ノードの設定タブが開きます。

    フィールド 説明
    [名前] ノードの名前。 使用できる文字:大文字、小文字、漢字、数字、アンダースコア (_)、ピリオド (.)。
    [エンジンインスタンス] このノードに関連付ける EMR コンピューティングリソース。
    [ノードタイプ] 使用するコンピュートノードのタイプ。
    [パス] ワークフローディレクトリ構造内の場所。

ステップ 2:EMR Presto タスクの開発

作成したノードをダブルクリックします。 タスク開発ページが開き、SQL の作成、高度なパラメーターの設定、タスクの実行ができます。

SQL コードの開発

SQL エディターで Presto SQL を記述します。 コード内で変数を定義するには、${variable_name} 構文を使用します。 右側のパネルの [スケジューリング設定] > [スケジューリングパラメーター] で、key=value 形式でこれらの変数に値を割り当てます。 これにより、コードを変更することなく、スケジューリング時に動的な値を渡すことができます。

例:

select '${var}'; -- ${var} は、スケジューリングパラメーターから実行時に解決されます
select * from userinfo;

var に値を割り当てるには、[スケジューリング設定] > [スケジューリングパラメーター] を開き、var=2024-01-01 のようなエントリを追加します。 サポートされているパラメーター形式については、「スケジューリングパラメーターでサポートされている形式」をご参照ください。

ワークスペースに複数の EMR コンピューティングリソースがアタッチされている場合は、このノードで使用するリソースを選択します。 1 つしかアタッチされていない場合は、選択は不要です。

スケジューリング前にパラメーターの解決をテストするには、上部のツールバーで [パラメーターを指定して実行] をクリックします。 通常実行、パラメーターを指定して実行、スモークテストでのパラメーター値の違いの詳細については、「パラメーター割り当てロジックの違い」をご参照ください。

高度なパラメーターの設定 (任意)

Hadoop クラスター:EMR on ECS

[高度な設定] セクションで、以下のパラメーターを設定して、SQL 実行の動作とジョブ送信のルーティングを制御します。 パラメーターの設定方法の詳細については、「Spark の設定」をご参照ください。 これらのパラメーターは Hadoop クラスター (EMR on ECS) に適用されます。

パラメーター デフォルト 説明
FLOW_SKIP_SQL_ANALYZE true / false false SQL ステートメントの実行方法を制御します。 true:すべてのステートメントを 1 つのバッチで実行します。 false:ステートメントを一度に 1 つずつ実行します。 開発環境でのテスト実行にのみ適用されます。
USE_GATEWAY true / false false ジョブ送信のルーティングを制御します。 true:ゲートウェイクラスター経由でジョブを送信します。 false:ヘッダーノードに直接ジョブを送信します。 ゲートウェイクラスターが関連付けられていない場合にこれを true に設定すると、ジョブ送信は失敗します。

SQL タスクの実行

  1. ツールバーで Advanced Run アイコンをクリックします。 [パラメーター] ダイアログボックスで、スケジューリングリソースグループを選択し、[実行] をクリックします。

    リソースグループは、EMR クラスターとの接続テストに合格している必要があります。 パブリックインターネット経由または VPC 内でコンピューティングリソースにアクセスするには、まず接続性を確認してください。 詳細については、「ネットワーク接続ソリューション」をご参照ください。
  2. Save アイコンをクリックして SQL を保存します。

  3. (任意) スモークテストを実行します。 開発環境でのスモークテストは、ノードの送信時または送信後にトリガーできます。 詳細については、「スモークテストの実行」をご参照ください。

ステップ 3:スケジューリングプロパティの設定

タスクを定期的に実行するには、右側のナビゲーションペインで [プロパティ] をクリックし、スケジューリング設定を行います。

タスクをコミットする前に、[再実行] および [親ノード] パラメーターを設定してください。

スケジューリングオプションの完全なリファレンスについては、「概要」をご参照ください。

ステップ 4:タスクのデプロイ

  1. 保存 アイコンをクリックしてタスクを保存します。

  2. 提交 アイコンをクリックしてタスクをコミットします。 [送信] ダイアログボックスで、[変更の説明] を入力します。 ワークスペースでコードレビューが有効な場合、コミットしたコードがレビューに合格した後にのみタスクをデプロイできます。 詳細については、「コードレビュー」をご参照ください。

    コミットする前に、[プロパティ] タブで [再実行] および [親ノード] パラメーターを設定してください。
  3. (標準モードのワークスペースのみ) タスクを本番環境にデプロイします。 ノード設定タブの右上隅にある [デプロイ] をクリックします。 詳細については、「ノードのデプロイ」をご参照ください。

次のステップ

タスクがコミットおよびデプロイされると、スケジューリング設定に基づいて自動的に実行されます。 スケジューリングのステータスを監視するには、ノード設定タブの右上隅にある [オペレーションセンター] をクリックします。 詳細については、「自動トリガータスクの表示と管理」をご参照ください。

よくある質問

"Error executing query" が表示されるのはなぜですか?

image

このエラーは、クラスタータイプがサポートされていない場合に発生します。 EMR Presto ノードは、レガシー Hadoop データレイククラスターでのみ動作します。DataLake および Custom クラスターはサポートされていません。

これを解決するには:

  1. DataStudio で、コンピューティングリソースリストに移動します。

  2. ワークスペースに登録されているクラスターが、レガシー Hadoop データレイククラスターであることを確認します。

ノード実行時に接続タイムアウトが発生するのはなぜですか?

これは、リソースグループと EMR クラスター間のネットワーク接続に問題があることが原因と考えられます。

これを解決するには:

  1. DataStudio で、コンピューティングリソースリストページに移動します。

  2. リソースを見つけて [再初期化] をクリックします。

    image

    image

  3. 初期化が正常に完了したことを確認してから、タスクを再試行します。

問題が解決しない場合は、リソースグループが EMR クラスターとの接続テストに合格していることを確認してください。 詳細については、「ネットワーク接続ソリューション」をご参照ください。