スタンドアロン Trino クラスターを使用するには、事前の設定が必要です。このトピックでは、スタンドアロン Trino クラスターのコネクターとデータレイクメタデータを設定する方法について説明します。
背景情報
EMR on ECS コンソールでは、DataLake、カスタム、または Hadoop クラスターを作成する際に Trino サービスを追加できます。または、スタンドアロン Trino クラスターを作成することもできます。
-
他のコンポーネントからの干渉を最小限に抑えた専用のクラスターリソース。
-
オートスケーリングをサポートしています。
-
データレイク分析とリアルタイムデータウェアハウジングをサポートしています。
-
データを保存しません。
-
Hudi と Iceberg は実際のプロセスではなく、クラスターリソースを消費しません。
-
Hue および JindoData (または SmartData) サービスを使用しない場合は、停止できます。
スタンドアロン Trino クラスターを使用するには、まず、既存の DataLake、カスタム、または Hadoop クラスターをデータクラスターとして作成または使用する必要があります。
スタンドアロン Trino クラスターを作成した後、次の設定手順を実行します。
-
オプション: データレイクメタデータの設定
データクラスターが [DLF Unified Metadata] を使用しない場合は、この手順をスキップできます。
コネクターの設定
使用するコネクターでクエリ対象のオブジェクトを設定します。このセクションでは、Hive コネクターを例に説明します。
-
クラスターの [Services] ページに移動します。
-
EMR on ECS コンソールにログインします。
-
上部メニューで、目的のリージョンとリソースグループを選択します。
-
[EMR on ECS] ページで、対象のクラスターを見つけ、「操作」列の Services をクリックします。
-
-
Services ページで、Trino サービスセクションの Configure をクリックします。
-
設定項目を変更します。
-
Configure ページで、[hive.properties] タブをクリックします。
-
hive.metastore.uri パラメーターの値を、データクラスターの Trino サービスの hive.metastore.uri の値と一致するように設定します。
-
-
設定を保存します。
-
右上の Save をクリックします。
-
変更する ダイアログボックスで、パラメーターを設定し、OK をクリックします。
-
-
クライアント設定をデプロイします。
-
右上の Deploy Client Configuration をクリックします。
-
[Execute Cluster Operation] ダイアログボックスで、パラメーターを設定し、OK をクリックします。
-
Confirm ダイアログボックスで、OK をクリックします。
-
-
Trino サービスを再起動します。 詳細については、「手順」をご参照ください。
-
ホストを設定します。
重要クエリ対象のすべてのデータが Object Storage Service (OSS) に保存されている場合、またはテーブル作成ステートメントで場所が指定されている場合は、この手順をスキップできます。
Trino がデータクラスター上のこれらのテーブルからデータを読み取れるようにするには、Trino クラスターの各ホストでホスト情報を設定します。
-
方法 1 (推奨): EMR コンソールで、クラスター スクリプトまたはブートストラップアクションを追加してホストを設定します。 詳細については、「スクリプトの手動実行」または「ブートストラップアクションの管理」をご参照ください。
-
方法 2: 次の手順を実行して、hosts ファイルを直接変更します。
-
データクラスターのマスターノードの内部 IP アドレスを取得します。 EMR コンソールで、Nodes ページに移動します。 マスターノードグループの行で、
アイコンをクリックして、ノードの内部 IP アドレスを表示します。 -
データクラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。
-
hostnameコマンドを実行して、ホスト名を取得します。ホスト名の形式例:
-
Hadoop クラスター: emr-header-1.cluster-26****.
-
その他のクラスタータイプ: master-1-1.c-f613970e8c****.
-
-
Trino クラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。
-
次のコマンドを実行して、hosts ファイルを編集します。
vim /etc/hosts -
hosts ファイルの最終行に次の内容を追加します。
データクラスターのマスターノードの内部 IP アドレスとホスト名を、Trino クラスターの各ホストの /etc/hosts ファイルに追加します。
-
Hadoop クラスター
192.168.**.** emr-header-1.cluster-26****. -
その他のクラスタータイプ
192.168.**.** master-1-1.c-f613970e8c****.
-
-
-
データレイクメタデータの設定
EMR バージョン 3.45.0 以降および 5.11.0 以降では、クラスター作成時の自動設定をサポートしています。
テーブルメタデータが [DLF 統合メタデータ] を使用する場合、Hive、Iceberg、Hudi などのコネクターには追加の設定が必要です。 このシナリオでは、クエリはデータクラスターに依存しなくなります。 Trino は同じアカウントで DLF メタデータに直接アクセスするため、hive.metastore.uri の値は無視されます。
次の表に、データレイクメタデータの設定パラメーターを示します。
|
パラメーター |
説明 |
備考 |
|
hive.metastore |
メタストアのタイプ。 |
値を |
|
dlf.catalog.id |
データカタログの名前空間。 |
バインドする DLF カタログの ID。 このパラメーターは、デフォルトで Alibaba Cloud アカウント ID になります。 |
|
dlf.catalog.region |
DLF サービスのリージョン。 |
詳細については、「サポートされているリージョンとエンドポイント」をご参照ください。 説明
このリージョンが dlf.catalog.endpoint に指定されたリージョンと同じであることを確認してください。 |
|
dlf.catalog.endpoint |
DLF サービスのエンドポイント。 |
詳細については、「サポートされているリージョンとエンドポイント」をご参照ください。 dlf.catalog.endpoint パラメーターを DLF の VPC エンドポイントに設定します。 たとえば、選択したリージョンが中国 (杭州) の場合、dlf.catalog.endpoint パラメーターを dlf-vpc.cn-hangzhou.aliyuncs.com に設定します。 説明
DLF のパブリックエンドポイントを使用することもできます。 たとえば、選択したリージョンが中国 (杭州) の場合、dlf.catalog.endpoint パラメーターを dlf.cn-hangzhou.aliyuncs.com に設定します。 |
|
dlf.catalog.akMode |
DLF サービスの AccessKey モード。 |
このパラメーターを |
|
dlf.catalog.proxyMode |
DLF サービスのプロキシモード。 |
このパラメーターを |
|
dlf.catalog.uid |
Alibaba Cloud アカウント ID。 |
[User Information] ページでアカウント情報を確認するか、Alibaba Cloud コンソールにログインして [Account Management] ページで [Account ID] を表示します。 |
例:テーブルデータのクエリ
-
コマンドで Trino に接続します。 詳細については、「コマンドによる Trino へのアクセス」をご参照ください。
-
次のコマンドを実行して、test_hive テーブルをクエリします。
select * from hive.default.test_hive;