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

DataWorks:EMR Trino ノード

最終更新日:Nov 10, 2025

Trino は、複数のデータソースにまたがる対話型分析クエリのためのオープンソースの分散 SQL クエリエンジンです。E-MapReduce (EMR) Trino ノードを開発・設定して、大規模な多次元データ集約やレポート分析を実行できます。

前提条件

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

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

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

制限事項

  • このタイプのタスクは、サーバーレスリソースグループでのみ実行できます。

  • DataWorks で DataLake またはカスタムクラスターのメタデータを管理するには、まずクラスターで EMR-HOOK を設定する必要があります。詳細については、「Hive 用に EMR-HOOK を設定する」をご参照ください。

    説明

    クラスターで EMR-HOOK が設定されていない場合、DataWorks はメタデータをリアルタイムで表示したり、監査ログを生成したり、データリネージを表示したり、EMR 関連の管理タスクを実行したりできません。

  • Trino で LDAP 認証が有効になっている場合は、EMR Master ノードにログインし、/etc/taihao-apps/trino-conf ディレクトリから keystore ファイルをダウンロードします。次に、DataWorks コンソールにログインします。上部のナビゲーションバーで、ターゲットリージョンに切り替えます。ワークスペースを見つけ、[アクション] 列の [管理] をクリックして、[管理センター] に移動します。左側のナビゲーションウィンドウで、[計算リソース] を選択します。EMR クラスターを見つけ、[アカウントマッピング] をクリックします。[アカウントマッピングの編集] をクリックします。編集ページで、[Keystore ファイルのアップロード] をクリックしてファイルをアップロードします。

手順

  1. EMR Trino ノードの編集ページで、次の手順を実行します。

    コネクタの設定

    • MySQL テーブルをクエリする前に、組み込みの EMR Trino コネクタを設定する必要があります。詳細については、「MySQL コネクタ」をご参照ください。

    • Hive テーブルをクエリする前に、組み込みの EMR Trino コネクタを設定する必要があります。詳細については、「Hive コネクタ」をご参照ください。

    • 他のデータソースからデータをクエリするには、組み込みコネクタの設定方法について「コネクタの設定」をご参照ください。

    SQL コードの編集

    SQL 編集エリアで、タスクのコードを記述します。`${variable_name}` 形式で変数を定義できます。これらの変数には、右側の [スケジュール設定] ペインの [スケジュールパラメーター] セクションで値を割り当てることができます。これにより、ノードがスケジュールされたときに動的にパラメーターを渡すことができます。スケジューリングパラメーターの詳細については、「サポートされているスケジューリングパラメーターのフォーマット」をご参照ください。以下に例を示します。

    -- 使用法
    -- SELECT * FROM <catalog>.<schema>.<table>;
    -- パラメーターの説明
    -- <catalog> は接続するデータソースの名前です。
    -- <schema> は使用するデータベースの名前です。
    -- <table> はクエリするデータテーブルです。
    -- たとえば、Hive データソースのデフォルトデータベースにある hive_table テーブルのデータを表示する場合
    -- Hive テーブルのクエリ
    SELECT * FROM hive.default.hive_table;
    
    -- たとえば、MySQL データソースの自己管理 rt_data データベースにある rt_user テーブルのデータを表示する場合 
    -- MySQL テーブルのクエリ  
    SELECT * FROM mysql.rt_data.rt_user;
    
    -- Hive テーブルと MySQL テーブルの結合
    SELECT DISTINCT a.id, a.name,b.rt_name FROM hive.default.hive_table a INNER JOIN mysql.rt_data.rt_user b ON a.id = b.id;
    
    -- スケジューリングパラメーターを使用した Hive テーブルのクエリ
    SELECT * FROM hive.default.${table_name};

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

    右側の [スケジュール設定] ペインで、[EMR ノードパラメーター] > [DataWorks パラメーター] を選択し、次の表のプロパティを設定します。

    説明

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

    パラメーター

    説明

    FLOW_SKIP_SQL_ANALYZE

    SQL 文の実行メソッド。有効な値:

    • true: 一度に複数の SQL 文を実行します。

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

    DATAWORKS_SESSION_DISABLE

    開発環境で直接テストを実行するシナリオに適用されます。有効な値:

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

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

    SQL タスクの実行

    1. [デバッグ設定] ペインの [計算リソース] セクションで、[計算リソース][DataWorks リソースグループ] パラメーターを設定します。

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

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

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

      説明

      EMR Trino ノードを使用してデータをクエリする場合、クエリ結果には最大 10,000 行を含めることができ、合計データサイズは 10 MB を超えることはできません。

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

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

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

よくある質問

  • Q: 接続タイムアウトが原因でノードの実行が失敗します。

    image

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

    image

    image