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

DataWorks:EMR Trinoノードの作成

最終更新日:Jul 09, 2025

Trinoは、さまざまなデータソースのインタラクティブな分析クエリを実行するように設計されたオープンソースの分散SQLクエリエンジンです。 大量の多次元データを集計したり、レポートを分析したりするために、E-MapReduce(EMR)Trinoノードを作成できます。 詳細については、「Trinoの概要」をご参照ください。

前提条件

  • EMRクラスタが作成され、クラスタがDataWorksに登録されている。

    EMRノードを作成し、DataWorksでEMRタスクを開発するためにEMRノードを使用する前に、EMRクラスタをDataWorksワークスペースに登録する必要があります。 詳細については、「DataStudio(旧バージョン):EMR計算リソースを関連付ける」をご参照ください。

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

  • サーバーレスリソースグループが購入され、構成されている。 構成には、ワークスペースとの関連付けとネットワーク構成が含まれます。 詳細については、「サーバーレスリソースグループを作成して使用する」をご参照ください。

  • DataStudioでワークフローが作成されている。

    DataStudioでは、さまざまなタイプの計算エンジンの開発操作がワークフローに基づいて実行されます。 したがって、ノードを作成する前に、ワークフローを作成する必要があります。 詳細については、「ワークフローを作成する」をご参照ください。

制限

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

  • DataWorksでDataLakeまたはカスタムクラスタのメタデータを管理する場合、最初にクラスタでEMR-HOOKを構成する必要があります。 クラスタでEMR-HOOKを構成しないと、メタデータがリアルタイムで表示されず、監査ログが生成されず、DataWorksにデータ系列が表示されません。 EMRガバナンスタスクも実行できません。 EMR-HOOKの構成方法については、「Hive拡張機能を使用してデータ系列と履歴アクセス情報を記録する」をご参照ください。

  • TrinoでLightweight Directory Access Protocol(LDAP)認証を有効にする場合は、EMRクラスタのマスターノードにログインし、/etc/taihao-apps/trino-confディレクトリにあるキーストアファイルをダウンロードする必要があります。 次に、以下の手順を実行してキーストアファイルをアップロードします。 DataWorksコンソールにログインします。 左側のナビゲーションウィンドウで、[その他] > [管理センター] を選択します。 表示されるページで、目的のワークスペースを選択し、[管理センターに移動] をクリックします。 表示されるページの左側のナビゲーションウィンドウで、[クラスタ管理] をクリックします。 次に、目的のクラスタを見つけて、[アカウントマッピング] タブをクリックします。 タブの右上隅にある [アカウントマッピングの編集] をクリックします。 表示されるページで、[キーストアファイルのアップロード] をクリックして、キーストアファイルをアップロードします。

ステップ 1:EMR Trinoノードを作成する

  1. DataStudioページに移動します。

    DataWorksコンソールにログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、[データ開発とO&M] > [データ開発] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

  2. 目的のワークフローを見つけ、ワークフローの名前を右クリックし、[ノードの作成] > [EMR] > [EMR Trino] を選択します。

  3. [ノードの作成] ダイアログボックスで、[名前][エンジンインスタンス][ノードタイプ][パス] パラメータを構成します。 [確認] をクリックします。 EMR Trinoノードの構成タブが表示されます。

    説明

    ノード名には、文字、数字、アンダースコア(_)、ピリオド(.)を含めることができます。

ステップ 2:EMR Trinoタスクを開発する

作成したノードの名前をダブルクリックして、ノードの構成タブに移動し、次の操作を実行してタスクを開発します。

(オプション)EMRクラスタを選択する

ワークスペースに複数のEMRクラスタが登録されている場合は、ビジネス要件に基づいて、ノードの構成タブの上部にある [エンジンインスタンスEMR] ドロップダウンリストから1つ選択する必要があります。 ワークスペースに1つだけのEMRクラスタが登録されている場合は、そのEMRクラスタを使用してタスクが開発されます。

image

コネクタを構成する

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

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

  • 他のデータソースのテーブルからデータをクエリする前に、データソースの関連コネクタを構成する必要があります。 詳細については、「コネクタを構成する」をご参照ください。

SQLコードを開発する

SQLエディターで、ノードのコードを入力します。 例:

-- 使用方法
-- 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};
説明

Trinoタスクを実行する

  1. 上部ツールバーの 高级运行 アイコンをクリックします。 [パラメータ] ダイアログボックスで、スケジューリング用に作成されたリソースグループを選択し、[実行] をクリックします。

    説明
    • インターネットまたはVPCを介して計算リソースにアクセスする場合は、計算リソースに接続されているスケジューリング用のリソースグループを使用します。 詳細については、「ネットワーク接続ソリューション」をご参照ください。

    • 後続の操作でリソースグループを変更する場合は、高级运行 (パラメータ付きで実行) アイコンをクリックして、[パラメータ] ダイアログボックスでリソースグループを変更できます。

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

  2. 保存 アイコンをクリックして、SQL文を保存します。

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

SQL文の実行モードを変更する場合は、右側のナビゲーションウィンドウで [詳細設定] をクリックし、次の表に示すパラメータを構成します。

パラメータ

説明

FLOW_SKIP_SQL_ANALYZE

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

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

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

DATAWORKS_SESSION_DISABLE

このパラメータは、DataWorksワークスペースの開発環境でのテストに適しています。 有効な値:

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

  • false: 同じノードに対して異なるSQL文が実行される場合、同じJDBC接続が使用されます。 これはデフォルト値です。

ステップ 3:タスクスケジューリングプロパティを構成する

システムでノード上のタスクを定期的に実行する場合は、ノードの構成タブで右側のナビゲーションウィンドウの [プロパティ] をクリックして、ビジネス要件に基づいてタスクスケジューリングプロパティを構成できます。 詳細については、「概要」をご参照ください。

説明

タスクをコミットする前に、[プロパティ] タブで [再実行] パラメータと [親ノード] パラメータを構成する必要があります。

ステップ 4:タスクをコミットしてデプロイする

タスクを構成したら、タスクをコミットしてデプロイする必要があります。 タスクをコミットしてデプロイすると、システムはスケジューリング構成に基づいてノード上のタスクを定期的に実行します。

  1. 上部ツールバーの 保存 アイコンをクリックして、ノードを保存します。

  2. 上部ツールバーの 提交 アイコンをクリックして、ノード上のタスクをコミットします。

    [送信] ダイアログボックスで、[変更の説明] パラメータを構成します。 次に、ビジネス要件に基づいて、タスクのコミット後にタスクコードを確認するかどうかを決定します。

    説明
    • タスクをコミットする前に、[プロパティ] タブで [再実行] パラメータと [親ノード] パラメータを構成する必要があります。

    • コードレビュー機能を使用して、タスクのコード品質を確保し、無効なタスクコードによって発生するタスク実行エラーを防ぐことができます。 コードレビュー機能を有効にすると、コミットされたノードコードは、コードレビューに合格した後でのみデプロイできます。 詳細については、「コードレビュー」をご参照ください。

標準モードのワークスペースを使用する場合は、タスクをコミットした後に本番環境にデプロイする必要があります。 ノード上のタスクをデプロイするには、ノードの構成タブの右上隅にある [デプロイ] をクリックします。 詳細については、「ノードをデプロイする」をご参照ください。

次のステップ

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