

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

# Amazon EMR での Presto に関する考慮事項
<a name="emr-presto-considerations"></a>

Amazon EMR での [Presto](https://aws.amazon.com/big-data/what-is-presto/) を実行するときは、次の制限について考慮してください。

## Presto コマンドライン実行可能ファイル
<a name="emr-presto-command-line-cli"></a>

Amazon EMR では、以下の例に示されているように、PrestoDB と Trino は両方とも同じコマンドライン実行可能ファイル `presto-cli` を使用します。

```
presto-cli --catalog hive
```

## Presto デプロイプロパティは設定可能ではない
<a name="emr-presto-deployment-config"></a>

ご使用の Amazon EMR のバージョンによって、使用可能な Presto デプロイ設定が決まります。これらの設定プロパティについては、Presto ドキュメントの「[Deploying Presto](https://prestodb.io/docs/current/installation/deployment.html)」を参照してください。次の表に、Presto `properties` ファイルのさまざまな設定オプションを示します。


| システム | 設定可能 | 
| --- | --- | 
|  `log.properties`  |  PrestoDB: Amazon EMR バージョン 4.0.0 以降で設定可能です。`presto-log` 設定分類を使用します。  | 
|  `config.properties`  |  PrestoDB: Amazon EMR バージョン 4.0.0 以降で設定可能です。`presto-config` 設定分類を使用します。  | 
|  `hive.properties`  |  PrestoDB: Amazon EMR バージョン 4.1.0 以降で設定可能です。`presto-connector-hive` 設定分類を使用します。  | 
|  `node.properties`  |  PrestoDB: Amazon EMR バージョン 5.6.0 以降で設定可能です。`presto-node` 設定分類を使用します。  | 
|  `jvm.config`  |  設定可能ではありません。  | 

## PrestoDB のインストール
<a name="emr-prestodb-prestosql"></a>

アプリケーション名 *Presto* は、クラスターに PrestoDB をインストールするために引き続き使用されます。

PrestoDB または Trino のいずれかをインストールできますが、両方を単一のクラスターにインストールすることはできません。クラスターを作成しようとしたときに PrestoDB と Trino の両方を指定すると、検証エラーが発生し、クラスター作成リクエストは失敗します。

## EMRFS と PrestoS3FileSystem の設定
<a name="emr-presto-prestos3"></a>

Amazon EMR バージョン 5.12.0 以降では、PrestoDB は EMRFS を使用できます。詳細については、「*Amazon EMR 管理ガイド*」の「[EMR ファイルシステム (EMRFS)](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-fs)」を参照してください。Amazon EMR の以前のバージョンでは、PrestoS3FileSystem が唯一の設定オプションです。

セキュリティ設定を使用して、Amazon S3 で EMRFS データの暗号化を設定できます。また、Amazon S3 への EMRFS リクエストに IAM ロールを使用することもできます。詳細については、「*Amazon EMR 管理ガイド*」の「[暗号化オプションを理解する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html)」および「[Amazon S3 への EMRFS リクエストの IAM ロールを設定する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html)」を参照してください。

**注記**  
Amazon EMR バージョン 5.12.0 を使用して Amazon S3 で基盤となるデータをクエリするときに、Presto エラーが発生することがあります。これは、Presto が `emrfs-site.xml` から設定分類値を取得できないためです。回避策として、`usr/lib/presto/plugin/hive-hadoop2/` の下に `emrfs` サブディレクトリを作成し、既存の `/usr/share/aws/emr/emrfs/conf/emrfs-site.xml` ファイルへのシンボリックリンクを `usr/lib/presto/plugin/hive-hadoop2/emrfs` に作成します。次に presto-server プロセスを再起動します (`sudo presto-server stop` に続いて `sudo presto-server start`)。

EMRFS のデフォルトをオーバーライドして、代わりに PrestoS3FileSystem を使用できます。これを行うには、次の例に示すように `presto-connector-hive` 設定分類を使用して、`hive.s3-file-system-type` を `PRESTO` に設定します。詳細については、「[アプリケーションの設定](emr-configure-apps.md)」を参照してください。

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.s3-file-system-type": "PRESTO"
      }
   }
]
```

PrestoS3FileSystem を使用する場合、`presto-connector-hive` 設定分類を使用して PrestoS3FileSystem プロパティを設定します。使用可能なプロパティの詳細については、Presto ドキュメントの「Hive Connector」セクションにある「[Amazon S3 の設定](https://prestodb.io/docs/current/connector/hive.html#amazon-s3-configuration)」を参照してください。これらの設定は EMRFS には適用されません。

## エンドユーザー偽装のデフォルト設定
<a name="emr-presto-end-user-impersonation"></a>

デフォルトでは、Amazon EMR バージョン 5.12.0 以降では、エンドユーザーが HDFS にアクセスするための偽装を行うことができます。詳細については、Presto のドキュメントの「[エンドユーザー偽装](https://prestodb.io/docs/current/connector/hive-security.html#end-user-impersonation)」を参照してください。この設定を `presto-config` 設定分類を使用して変更するには、`hive.hdfs.impersonation.enabled` プロパティを `false` に設定します。

## Presto ウェブインターフェイス用のデフォルトポート
<a name="emr-presto-default-web-port"></a>

デフォルトでは、Amazon EMR はポート 8889 を使用するように Presto コーディネーターの Presto ウェブインターフェイスを設定します (PrestoDB および Trino の場合)。このポートを変更するには、`presto-config` 設定分類を使用して `http-server.http.port` プロパティを設定します。詳細については、Presto ドキュメントの「*Deploying Presto*」セクションの「[Config properties](https://prestodb.io/docs/current/installation/deployment.html#config-properties)」を参照してください。

## 一部のリリースでの Hive バケットの実行に関する問題
<a name="emr-presto-bucket-execution"></a>

Presto バージョン 152.3 には、特定の状況で Presto のクエリパフォーマンスを大幅に低下させる Hive バケットの実行に問題があります。Amazon EMR リリース 5.0.3、5.1.0、および 5.2.0 には、このバージョンの Presto が含まれています。この問題を軽減するには、次の例に示すように `presto-connector-hive` 設定分類を使用して、`hive.bucket-execution` プロパティを `false` に設定します。

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.bucket-execution": "false"
      }
   }
]
```