E-MapReduce(EMR)コンソールでTrinoクラスターを作成した後、使用する前にクラスターを構成する必要があります。このトピックでは、作成したTrinoクラスターを使用するために、データレイクのデータのコネクタとメタデータストレージセンターを構成する方法について説明します。
背景情報
Trinoサービスを使用するには、TrinoサービスがデプロイされたDataLakeクラスター、カスタムクラスター、またはHadoopクラスターを作成するか、EMRコンソールでTrinoクラスターを作成します。 Trinoクラスターには次の機能があります。
Trinoに排他的なリソースを割り当てます。このようにして、他のサービスがTrinoサービスに影響を与えることはほとんどありません。
自動スケーリングをサポートします。
データレイクとリアルタイムデータウェアハウスのデータ分析をサポートします。
データを保存しません。
HudiとIcebergはプロセスではなく、クラスタリソースを占有しません。
HueとJindoDataまたはSmartDataが使用されなくなった場合は、サービスを停止できます。
Trinoクラスターを使用するには、最初にDataLakeクラスター、カスタムクラスター、またはHadoopクラスターを作成するか、既存のDataLakeクラスター、カスタムクラスター、またはHadoopクラスターをデータクラスターとして使用します。
Trinoクラスターを作成した後、次の操作を実行する必要があります。
オプション。データレイクのデータのメタデータストレージセンターを構成する。
データクラスターのメタデータパラメーターが [DLF統合メタデータ] に設定されていない場合は、このセクションの構成をスキップできます。
コネクタを構成する
このセクションでは、使用するコネクタのクエリ対象を構成する方法について説明します。この例では、Hiveコネクタが使用されます。
サービス タブに移動します。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[ECS上のEMR] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
[サービス] タブで、Trinoサービスを見つけ、[構成] をクリックします。
パラメーターを変更します。
[構成] タブで、[hive.properties] をクリックします。
hive.metastore.uri パラメーターの値を、データクラスターにデプロイされているTrinoサービスに構成されている hive.metastore.uri パラメーターの値に変更します。
構成を保存します。
[保存] をクリックします。
表示されるダイアログボックスで、パラメーターを構成し、[保存] をクリックします。
構成を有効にします。
[クライアント構成のデプロイ] をクリックします。
表示されるダイアログボックスで、パラメーターを構成し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
Trinoサービスを再起動します。詳細については、サービスの再起動をご参照ください。
ホスト情報を構成します。
重要クエリするすべてのデータがオブジェクトストレージサービス(OSS)に保存されている場合、または CREATE TABLE ステートメントの実行時に Location パラメーターが構成されている場合は、ホスト情報を構成する必要はありません。
一部のHiveテーブルは、指定されたデフォルトディレクトリに保存されている場合があります。データクラスターに保存されているデータをクエリする場合、クエリプロセスでテーブルからデータを読み取れるように、Trinoクラスターの各ノードに対してデータクラスターのマスターノードのホスト情報を構成する必要があります。
方法 1:EMRコンソールにログオンし、クラスタスクリプトまたはブートストラップアクションを追加してホスト情報を構成します。詳細については、スクリプトを手動で実行する または ブートストラップアクションの管理をご参照ください。この方法を使用することをお勧めします。
方法 2:hosts ファイルを直接変更します。次の手順を実行します。
データクラスターのマスターノードの内部 IP アドレスを取得します。マスターノードの内部 IP アドレスを表示するには、次の手順を実行します:EMRコンソールのデータクラスターの [ノード] タブに移動します。マスターノードグループを見つけ、
アイコンをクリックします。
データクラスターにログオンします。詳細については、クラスターにログオンするをご参照ください。
hostname
コマンドを実行して、マスターノードのホスト名を取得します。たとえば、ホスト名は次のいずれかの形式です。
Hadoopクラスター:emr-header-1.cluster-26****
その他の種類のクラスター:master-1-1.c-f613970e8c****
Trinoクラスターにログオンします。詳細については、クラスターにログオンするをご参照ください。
次のコマンドを実行して、hosts ファイルを編集します。
vim /etc/hosts
hosts ファイルの末尾に次の内容を追加します。
Trinoクラスターの各ノードの /etc/ ディレクトリに保存されている hosts ファイルに、データクラスターのマスターノードの内部 IP アドレスとホスト名を追加します。
Hadoopクラスター
192.168.**.** emr-header-1.cluster-26****
その他の種類のクラスター
192.168.**.** master-1-1.c-f613970e8c****
データレイクのデータのメタデータストレージセンターを構成する
データレイクのデータのメタデータストレージセンターは、V3.45.0 以降のマイナーバージョンの EMR クラスター、または V5.11.0 以降のマイナーバージョンの EMR クラスターを作成するときに自動的に構成できます。
データクラスターのメタデータパラメーターが [DLF統合メタデータ] に設定されている場合は、Hive、Iceberg、Hudi などのコネクタを構成する必要があります。この場合、データクエリはデータクラスターに依存しなくなります。ビジネス要件に基づいて hive.metastore.uri パラメーターを構成できます。Trino は、同じアカウント内の Data Lake Formation(DLF)メタデータに直接アクセスできます。
次の表に、データレイクのデータのメタデータストレージセンターを構成するために使用されるパラメーターを示します。
パラメーター | 説明 | 備考 |
hive.metastore | Hiveメタストアのタイプ。 | 値を DLF に設定します。 |
dlf.catalog.id | DLFカタログの ID。 | デフォルトでは、このパラメーターはAlibaba Cloudアカウントの ID に設定されています。 |
dlf.catalog.region | DLF がアクティブ化されているリージョンの ID。 | 詳細については、サポートされているリージョンとエンドポイントをご参照ください。 説明 このパラメーターの値が、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 モード。 | このパラメーターを EMR_AUTO に設定することをお勧めします。 |
dlf.catalog.proxyMode | DLF サービスのプロキシモード。 | このパラメーターを DLF_ONLY に設定することをお勧めします。 |
dlf.catalog.uid | Alibaba Cloudアカウントの ID。 | Alibaba Cloudアカウントの ID を取得するには、セキュリティ設定 ページに移動します。 |
例:テーブルのデータをクエリする
コマンドを実行してTrinoにアクセスします。詳細については、コマンドを実行してTrinoコンソールにログオンするをご参照ください。
次のコマンドを実行して、test_hive テーブルのデータをクエリします。
select * from hive.default.test_hive;