

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Trino の使用開始
<a name="emr-trino-getting-started"></a>

このセクションの手順では、Trino を使用してメタストアデータソースをクエリするために Amazon EMR クラスターをセットアップする方法を示します。 AWS Glue データカタログを含むこれらのメタストアは、メタデータとデータベースオブジェクトを保存し、アクセス許可を管理します。この手順では、前提条件、推奨構成設定、コネクタの作成、メタストアテーブルでのクエリの実行について説明します。

**Topics**
+ [Trino で Amazon EMR を使用するための前提条件ステップを完了する](emr-trino-getting-started-pre.md)
+ [Trino での Amazon EMR クラスターを起動する](emr-trino-getting-started-launch.md)
+ [Amazon EMR クラスターのプライマリノードに接続してクエリを実行する](emr-trino-getting-started-connect.md)

# Trino で Amazon EMR を使用するための前提条件ステップを完了する
<a name="emr-trino-getting-started-pre"></a>

を使用していない場合 AWS、または Amazon EMR クラスターを作成していない場合は、Trino で Amazon EMR クラスターを作成する前に、以下の前提条件ステップを完了してください。

## AWS 環境のセットアップ
<a name="emr-trino-getting-started-account"></a>

まだ AWS アカウントを設定していない場合は、以下の手順を実行します。

1.  AWS アカウントをまだお持ちでない場合は、サインアップしてください。詳細については、[「 AWS アカウント管理リファレンスガイド」の「アカウントの作成](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html)」を参照してください。 *AWS *

1. 管理者としてご自身のアカウントにサインインします。

1. グループを作成し、ユーザーを割り当てます。

1. Amazon EC2 キーペアを作成します。これは後で SSH を使用してリソース間の通信を保護するために使用できます。このステップは、プライマリノードに接続してタスクを実行する場合に必要です。詳細については、「[Connect to the Amazon EMR cluster primary node using SSH](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)」を参照してください。

# Trino での Amazon EMR クラスターを起動する
<a name="emr-trino-getting-started-launch"></a>

Trino でクラスターを作成する際の正しい設定選択肢を以下に示します。

## Hive コネクタを使用してデータをクエリ可能にする
<a name="emr-trino-getting-started-connect-hive"></a>

クラスターからメタストアデータをクエリする目的で、Hive メタストアの Trino コネクタを設定できます。メタストアは、ファイルベースのコンテンツまたはデータをテーブルとして利用できる抽象化レイヤーであるので、クエリが容易です。Hive メタストアテーブルをクラスターで使用できるように、Amazon EMR でコネクタを設定しなければなりません。以下の手順は、その方法を示しています:

1. コンソールで AWS Glue を選択し、Amazon S3 のソースデータに基づいてテーブルを作成します。 AWS Glue データカタログのテーブルは、データのメタデータ定義です。このコンテキストでは、ソースデータからテーブルを手動で作成し、必要に応じて列を作成するのが理にかなっています。Amazon S3 の半構造化データから AWS Glue でテーブルを作成する方法の詳細については、*AWS 「 Glue ユーザーガイド*」の[「コンソールを使用したテーブルの作成](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html#console-tables)」を参照してください。

1. クラスター作成の一部として設定を行います。**[設定]** タブを選択します。設定は、クラスターのオプション仕様です。設定を入力するときは、次のサンプルのような JSON を追加します。このサンプルは、テーブルメタデータの外部 Hive メタストアとして AWS Glue データカタログを使用するように Trino に指示します。

   ```
   {
       "classification": "trino-connector-hive",
       "properties": {
           "hive.metastore": "glue"
       }
   }
   ```

   または、クラスターの作成時に **[ソフトウェア設定]** セクションで設定を適用することもできます。

   さらに、Apache Iceberg との接続など、他のコネクタタイプを設定することもできます。詳細については、「*Amazon EMR リリースガイド*」の「[Trino で Iceberg クラスターを使用する](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-trino-cluster.html)」を参照してください。追加の設定はオプションです。

開始手順を続けるには、「[Amazon EMR クラスターのプライマリノードに接続してクエリを実行する](emr-trino-getting-started-connect.md)」を参照してください。

## Trino を使用してクラスターを作成する
<a name="emr-trino-getting-started-launch-cluster-settings"></a>

以下は、Trinoで使用するクラスターを作成する際の正しい構成オプションについて説明します。

**重要**  
クラスターを作成する前に、Hive メタストアとして AWS Glue データカタログ設定を完了してください。開始するには、この設定をお勧めします。詳細については、「[Hive コネクタを使用してデータをクエリ可能にする](#emr-trino-getting-started-connect-hive)」を参照してください。

1.  AWS コンソールで、 サービスから Amazon EMR を選択します。Amazon EMR を選択することにより、既存のクラスターがある場合、**[EC2 クラスター上の EMR]** が一覧表示されます。

1. **[クラスターを作成]** を選択します。ここから、クラスターを構築するプロセスを開始します。

1. クラスターに名前を付け、**[Amazon EMR リリース]** を選択します。チュートリアルの最新のリリースを選択できます。

1. **[Trino]** バンドルを選択します。このバンドルには Trino アプリケーションが事前に選択されています。バンドルは、クラスターの目的が事前にわかっている場合に便利です。それ以外の場合は、Trino のチェックボックスをオンにするだけです。

1. **[クラスターの設定]** で **[Uniform インスタンスグループ]** を選択します。追加のインスタンスグループを削除してください。

1. **[インスタンスタイプ]** を選択します。一般的に、メモリが 16 GiB 以上のインスタンスタイプを選択することをお勧めします。また、**[クラスターのスケーリングとプロビジョニング]** では、**[クラスターサイズを手動で設定]** を選択します。

1. この時点で、Hive メタストア設定を AWS Glue を指すように設定します。詳細については、「[Hive コネクタを使用してデータをクエリ可能にする](#emr-trino-getting-started-connect-hive)」セクションを参照してください。クラスターを構築する前に、これを完了してください。

1. **[クラスターを作成]** を選択します。これには数分かかることがあります。

   ここでのステップでは、すべての設定ステップについて詳しく説明しているわけではありません。クラスターの設定の詳細については、「[Plan, configure and launch Amazon EMR clusters](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan.html)」を参照してください。

**注記**  
同じクラスターで使用する Presto と Trino の両方を選択しないでください。これらを一緒に実行することはサポートされていません。Trino を実行する場合は、Spark など、クラスター上で他のアプリケーションを実行しないことをお勧めします。

# Amazon EMR クラスターのプライマリノードに接続してクエリを実行する
<a name="emr-trino-getting-started-connect"></a>

## テストデータのプロビジョニングとアクセス許可の設定
<a name="emr-trino-getting-started-pre-data"></a>

Glue Data Catalog とその Hive メタストアを使用して、Trino AWS で Amazon EMR をテストできます。これらの前提条件ステップでは、テストデータを設定していない場合の設定方法について説明します:

1. 通信暗号化に使用する SSH キーをまだ作成していない場合は、作成します。

1. 複数のファイルシステムから選択して、データとログファイルを保存できます。開始するには、Amazon S3 バケットを作成します。バケットに一意の名前を付けます。作成時に、作成した暗号化キーを指定します。
**注記**  
同じリージョンを選択して、ストレージバケットと Amazon EMR クラスターの両方を作成します。

1. 作成したバケットを選択します。**[フォルダを作成]** を選択し、フォルダに記憶に残る名前を付けます。フォルダを作成するときは、セキュリティ設定を選択します。親のセキュリティ設定を選択するか、セキュリティ設定をより専門にすることができます。

1. テストデータを フォルダに追加します。このチュートリアルでは、カンマ区切りレコードの .csv を使用することにより、このユースケースを完了するのに適しています。

1. Amazon S3 バケットにデータを追加したら、データをクエリするための抽象化レイヤーを提供するように AWS Glue でテーブルを設定します。

## クエリを接続し実行する
<a name="emr-trino-getting-started-run"></a>

以下に、Trino を実行しているクラスターに接続してクエリを実行する方法について説明します。これを行う前に、前の手順で説明した Hive メタストアコネクタを設定し、メタストアテーブルが表示されるようにしてください。

1. EC2 Instance Connect は安全な接続を提供するため、クラスターへの接続には EC2 Instance Connect を使用することをお勧めします。クラスターの概要から **[SSH を使用してプライマリノードに接続]** を選択します。接続では、セキュリティグループに、サブネット内のクライアントへのポート 22 経由の接続を許可するインバウンドルールが必要です。また、接続時にユーザー **[hadoop]** を使用する必要があります。

1. `trino-cli` を実行して Trino CLI を起動します。これにより、Trino でコマンドを実行し、データをクエリできます。

1. `show catalogs;` を実行します。**Hive** カタログが一覧表示されていることを確認します。これにより、データストアまたはシステム設定を含む利用可能なカタログのリストが提供されます。

1. 使用可能なスキーマを表示するには、`show schemas in hive;` を実行します。ここから、`use schema-name;` を実行し、スキーマの名前を含めることができます。その後、`show tables;` を実行してテーブルを一覧表示できます。

1. スキーマ内のテーブルの名前を使用して、`SELECT * FROM table-name` などのコマンドを実行してテーブルをクエリします。`USE` ステートメントを実行して特定のスキーマに接続している場合は、*schema*.*table* などの 2 つの部分からなる表記を使用する必要はありません。