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

DataWorks:EMR Presto ノード

最終更新日:Aug 21, 2026

Presto (PrestoDB) は、標準 SQL を使用したインタラクティブなビッグデータ分析のための、柔軟でスケーラブルな分散 SQL クエリエンジンです。DataWorks は、Presto タスクを開発し、定期的にスケジューリングするための EMR Presto ノードを提供します。

前提条件

  • Alibaba Cloud E-MapReduce クラスターを作成し、DataWorks に登録します。詳細については、「新しい Data Studio:EMR 計算リソースのアタッチ」をご参照ください。

  • (オプション、RAM ユーザー向け) タスク開発用の Resource Access Management (RAM) ユーザーをワークスペースに追加し、開発者 ロールまたは ワークスペース管理者 ロール (このロールには広範な権限が含まれるため、慎重に付与する必要があります) を割り当てる必要があります。詳細については、「ワークスペースへのメンバー追加」をご参照ください。

    ルートアカウントを使用している場合は、このステップをスキップしてください。

制限事項

  • Hadoop ベースのデータレイククラスターのみをサポートしています。DataLake クラスターとカスタムクラスターはサポートしていません。

  • このタイプのタスクは、サーバーレスリソースグループ (推奨) またはスケジューリング用の専用リソースグループを使用してのみ実行できます。

  • データリネージ:EMR Presto ノードで実行されるタスクは、データリネージを生成しません。

操作手順

  1. EMR Presto ノードエディターページでは、以下の手順で開発します。

    SQL コードの開発

    SQL エディターでタスク コードを開発します。コード内で ${variable_name} の形式で変数を定義し、スケジューリング設定 タブの スケジューリングパラメーター セクションで値を割り当てることができます。これにより、定期実行のための動的なパラメーター渡しが可能になります。スケジューリングパラメーターの詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。以下のコードは一例です。

    select '${var}'; -- スケジューリングパラメーターと併用できます。
    
    select * from userinfo ;
    説明
    • SQL 文は 130 KB を超えることはできません。

    • EMR Presto ノードで実行されるクエリは最大 10,000 行を返すことができますが、合計データサイズは 10 MB を超えることはできません。

    (オプション) 詳細パラメーターの設定

    右側のペインの スケジューリング設定 タブで、ノードパラメーター > DataWorks パラメーター にある、次の表で説明するパラメーターを設定します。

    説明

    右側の スケジューリング設定 ペインの ノードパラメーター > Spark パラメーター で、さらに多くの オープンソースのPrestoプロパティ を設定できます。

    EMR on ECS

    パラメーター

    説明

    DATAWORKS_SESSION_DISABLE

    このパラメーターは、開発環境でのテスト実行にのみ適用されます。有効な値:

    • true:SQL 文が実行されるたびに、新しい JDBC 接続が作成されます。

    • false (デフォルト):同じノードで異なる SQL 文を実行する場合、同じ JDBC 接続が再利用されます。

    説明

    このパラメーターを false に設定すると、Presto の yarn applicationId は出力されません。yarn applicationId を出力するには、このパラメーターを true に設定します。

    FLOW_SKIP_SQL_ANALYZE

    SQL 文の実行方法を制御します。有効な値:

    • true:複数の SQL 文が一度に実行されます。

    • false (デフォルト):一度に 1 つの SQL 文が実行されます。

    説明

    このパラメーターは、開発環境でのテスト実行にのみ適用されます。

    priority

    タスクの優先度です。デフォルト値:1。

    queue

    タスクを送信する YARN キューです。デフォルトは default キューです。EMR YARN の詳細については、「基本的なキュー設定」をご参照ください。

    SQL タスクの実行

    1. デバッグの構成 セクションの 計算リソース タブで、計算リソース と DataWorks リソースグループ を選択します。

      説明
      • タスクのリソース要件に基づいて、スケジューリング CU の値を調整することもできます。デフォルトは 0.25 です。

      • パブリックネットワークまたは仮想プライベートクラウド (VPC) 経由でデータソースにアクセスするには、データソースのネットワーク接続テストに合格したスケジューリングリソースグループを使用する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。

    2. ツールバーのパラメーターダイアログボックスで、ターゲットデータソースを選択し、 実行 をクリックします。

  2. ノードタスクを定期的に実行する必要がある場合は、ビジネス要件に基づいてスケジューリングプロパティを設定します。詳細については、「ノードのスケジューリングを設定する」をご参照ください。

  3. ノードタスクを設定した後、ノードを公開する必要があります。詳細については、「ノードとワークフローを公開する」をご参照ください。

  4. タスクを公開した後、オペレーションセンターで定期実行のステータスを確認できます。詳細については、「オペレーションセンター入門」をご参照ください。

よくある質問

  • Q: "Error executing query" というメッセージが表示されるのはなぜですか。

    EMR execute task failed!
    SQL: {"name":"dw20251018","type":"PRESTO_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers;"],"tags":[],"description":"DataWorks"}
    TASK-MESSAGE:
    FAILED: Error executing query

    A: クラスターが Hadoop ベースのデータレイククラスター であることを確認してください。

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

    A:リソースグループとクラスターがネットワーク経由で相互に接続できることを確認してください。計算リソースリストに移動し、[リソースの初期化] をクリックします。表示されるダイアログボックスで、再初期化 をクリックします。初期化が成功したことを確認してください。