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

DataWorks:EMR Presto ノード

最終更新日:Mar 13, 2025

Presto(PrestoDB)は、標準 SQL 文を実行してビッグデータのインタラクティブな分析クエリを実行できる、柔軟でスケーラブルな分散 SQL クエリエンジンです。DataWorks は、Presto タスクを開発し、定期的にスケジュールするために使用できる E-MapReduce(EMR)Presto ノードを提供します。このトピックでは、EMR Presto ノードを使用してタスクを開発する手順と、関連する注意事項について説明します。

前提条件

  • EMR クラスタが作成され、クラスタが DataWorks に登録されていること。詳細については、「EMR クラスタを DataWorks に登録する」をご参照ください。

  • (RAM ユーザーを使用してタスクを開発する場合に必要)RAM ユーザーが DataWorks ワークスペースにメンバーとして追加され、[開発] ロールまたは [ワークスペース管理者] ロールが割り当てられていること。ワークスペース管理者ロールには、必要以上の権限があります。ワークスペース管理者ロールを割り当てる場合は注意してください。メンバーを追加する方法の詳細については、「ワークスペースメンバーを追加し、ロールを割り当てる」をご参照ください。

    説明

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

  • EMR Presto ノードが作成されていること。

制限事項

  • タスク開発用の EMR Presto ノードは、EMR Hadoop クラスタのみでサポートされています。EMR DataLake クラスタとカスタムクラスタは、EMR Presto ノードをサポートしていません。

  • このタイプのノードは、サーバーレスリソースグループまたは専用スケジューリングリソースグループでのみ実行できます。サーバーレスリソースグループを使用することをお勧めします。

  • データリネージ:EMR Presto ノードを使用して開発されたタスクは、データリネージの生成をサポートしていません。

手順

  1. EMR Presto ノードの構成タブで、次の操作を実行します。

    SQL コードを開発する

    SQL エディターで、ノードコードを開発します。ノードコードで ${変数} 形式で変数を定義し、ノードの構成タブの右側ナビゲーションウィンドウにある [プロパティ] タブの [スケジューリングパラメーター] セクションで、変数に値として割り当てられるスケジューリングパラメーターを構成できます。このようにして、ノードの実行がスケジュールされると、スケジューリングパラメーターの値がノードコードで動的に置き換えられます。スケジューリングパラメーターの使用方法の詳細については、「スケジューリングパラメーターのサポートされている形式」をご参照ください。サンプルコード:

    select '${var}'; -- var 変数に特定のスケジューリングパラメーターを割り当てることができます。
    
    select * from userinfo ;
    説明
    • ノードの SQL 文のサイズは 130 KB を超えることはできません。

    • EMR Presto ノードを使用してデータをクエリする場合、最大 10,000 件のデータレコードを返すことができ、返されるデータレコードの合計サイズは 10 MB を超えることはできません。

    (オプション)詳細パラメーターを構成する

    [プロパティ] タブの [EMR ノードパラメーター] セクションで、特定のパラメーターを構成できます。パラメーターの構成方法の詳細については、「Spark Configuration」を参照してください。次の表に、さまざまなタイプの EMR クラスタに対して構成できる詳細パラメーターを示します。

    Hadoop クラスタ:EMR on ECS ページで作成

    詳細パラメーター

    説明

    DATAWORKS_SESSION_DISABLE

    SQL 文が実行されるたびに Java Database Connectivity(JDBC)接続を確立するかどうかを指定します。このパラメーターは、DataWorks ワークスペースの開発環境でのテストに使用できます。有効な値:

    • true:SQL 文が実行されるたびに JDBC 接続が確立されます。

    • false(デフォルト):同じノードに対して異なる SQL 文が実行されるときに、同じ JDBC 接続が使用されます。

    説明

    DATAWORKS_SESSION_DISABLE パラメーターが false に設定されている場合、Hive の yarn applicationId の値は表示されません。yarn applicationId の値を表示する場合は、DATAWORKS_SESSION_DISABLE パラメーターを true に設定できます。

    FLOW_SKIP_SQL_ANALYZE

    SQL 文の実行方法。有効な値:

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

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

    説明

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

    priority

    優先度。デフォルト値:1。

    queue

    ジョブがコミットされるスケジューリングキュー。デフォルト値:default。EMR YARN の詳細については、「YARN スケジューラ」をご参照ください。

    SQL 文を実行する

    1. ノードの構成タブの右側ナビゲーションウィンドウにある [デバッグ構成] タブで、[コンピューティングリソース] セクションの [コンピューティングリソース] パラメーターと、DataWorks 構成セクションの [リソースグループ] パラメーターを構成します。

      説明
      • タスクの実行に必要なリソースに基づいて、[コンピューティング用 CU] パラメーターを構成することもできます。このパラメーターのデフォルト値は 0.25 です。

      • インターネットまたは VPC 経由でデータソースにアクセスする場合は、データソースに接続されているスケジューリング用リソースグループを使用する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。

    2. ノードの構成タブの上部ツールバーで、[実行] をクリックして SQL 文を実行します。

  2. ノード上のタスクを定期的に実行する場合は、ビジネス要件に基づいてスケジューリング情報を構成します。

  3. ノードを構成した後、ノードをデプロイします。詳細については、「ノード/ワークフローのリリース」をご参照ください。

  4. ノードをデプロイした後、オペレーションセンターでノードのステータスを表示します。詳細については、「オペレーションセンターの概要」をご参照ください。