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

DataWorks:EMR Trinoノードの作成

最終更新日:Jun 11, 2025

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

前提条件

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

    EMRノードを作成し、EMRノードを使用してDataWorksでEMRタスクを開発する前に、EMRクラスターをDataWorksワークスペースに登録する必要があります。 詳細については、「EMRクラスターをDataWorksに登録する」をご参照ください。

  • (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コンソールにログオンします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションペインで、[データ開発とガバナンス] > [データ開発] を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

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

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

    説明

    ノード名には、文字、数字、アンダースコア(_) 、ピリオド(.) を使用できます。

手順 2:EMR Trinoタスクを開発する

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

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

ワークスペースに複数のEMRクラスターが登録されている場合は、ビジネス要件に基づいて、ノードの構成タブの上部にある [エンジンインスタンスEMR] ドロップダウンリストから1つ選択する必要があります。 ワークスペースにEMRクラスターが1つだけ登録されている場合は、その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. 上部のツールバーの 提交 アイコンをクリックして、ノードのタスクをコミットします。

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

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

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

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

次のステップ

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