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

:EMR Presto ノード

最終更新日:Nov 10, 2025

Presto (PrestoDB とも呼ばれる) は、標準 SQL を使用してビッグデータのインタラクティブな分析とクエリをサポートする、柔軟でスケーラブルな分散 SQL クエリエンジンです。DataWorks は EMR Presto ノードを提供しており、これを使用して Presto タスクを開発し、定期的にスケジュールできます。このトピックでは、EMR Presto ノードを使用してタスクを開発する方法と、重要な考慮事項について説明します。

前提条件

  • Alibaba Cloud EMR クラスターを作成し、DataWorks にバインドしていること。詳細については、「DataStudio (新バージョン): EMR コンピューティングリソースをバインドする」をご参照ください。

  • (任意) Resource Access Management (RAM) ユーザーの場合は、タスク開発用のワークスペースに追加され、[開発者] または [ワークスペース管理者] ロールが割り当てられていることを確認してください。ワークスペース管理者ロールには広範な権限があります。このロールは慎重に付与してください。メンバーの追加に関する詳細については、「ワークスペースにメンバーを追加する」をご参照ください。

    Alibaba Cloud アカウントを使用している場合は、このステップをスキップできます。

制限事項

  • 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 を超えることはできません。

    (任意) 詳細パラメーターの設定

    ノードの右側にある [スケジューリング設定] タブの [EMR ノードパラメーター] > [DataWorks パラメーター] セクションで、次の固有のパラメーターを設定できます。

    説明

    [スケジューリング設定] タブの [EMR ノードパラメーター] > [Spark パラメーター] セクションで、追加のオープンソース Spark プロパティパラメーターを設定できます。詳細については、「オープンソース Spark プロパティパラメーター」をご参照ください。

    Hadoop クラスター: EMR on ECS

    詳細パラメーター

    説明

    DATAWORKS_SESSION_DISABLE

    このパラメーターは、開発環境で直接テストを実行するシナリオに適用されます。有効な値:

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

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

    説明

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

    FLOW_SKIP_SQL_ANALYZE

    SQL 文を実行するために使用されるメソッド。有効な値:

    • true: 毎回複数の SQL 文が実行されます。

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

    説明

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

    priority

    優先度。デフォルト値は 1 です。

    queue

    ジョブがサブミットされるスケジューリングキュー。デフォルトのキューは default です。EMR YARN の詳細については、「基本的なキュー設定」をご参照ください。

    SQL タスクの実行

    1. [デバッグ設定][コンピューティングリソース] セクションで、[コンピューティングリソース][DataWorks リソースグループ] を設定します。

      説明
      • タスクの実行に必要なリソースに基づいて [スケジューリング CU] を設定することもできます。デフォルト値は 0.25 です。

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

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

  2. ノードタスクをスケジュールどおりに実行するには、必要に応じてスケジューリングプロパティを設定します。詳細については、「ノードのスケジューリングを設定する」をご参照ください。

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

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

よくある質問

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

    image

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

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

    A: リソースグループクラスター間のネットワーク接続を確認してください。コンピューティングリソースのリストページに移動して、リソースを初期化します。表示されるダイアログボックスで、[再初期化] をクリックし、初期化が成功したことを確認します。

    image

    image