Amazon での Presto に関する考慮事項 EMR - Amazon EMR

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

Amazon での Presto に関する考慮事項 EMR

Amazon で Presto を実行するときは、次の制限事項を考慮してくださいEMR。

Presto コマンドライン実行可能ファイル

Amazon ではEMR、PrestoDB と Trino はどちらも次の例presto-cliと同じコマンドライン実行可能ファイル を使用します。

presto-cli --catalog hive

Presto デプロイプロパティは設定可能ではない

EMR 使用する Amazon のバージョンによって、使用可能な Presto デプロイ設定が決まります。これらの設定プロパティについては、Presto ドキュメントの「Deploying Presto」を参照してください。次の表に、Presto properties ファイルのさまざまな設定オプションを示します。

File 設定可能

log.properties

PrestoDB: Amazon EMRバージョン 4.0.0 以降で設定可能です。presto-log 設定分類を使用します。

Trino (PrestoSQL): Amazon EMRバージョン 6.1.0 以降で設定可能です。prestosql-log または trino-log 設定分類を使用します。

config.properties

PrestoDB: Amazon EMRバージョン 4.0.0 以降で設定可能です。presto-config 設定分類を使用します。

Trino (PrestoSQL): Amazon EMRバージョン 6.1.0 以降で設定可能です。prestosql-config または trino-config 設定分類を使用します。

hive.properties

PrestoDB: Amazon EMRバージョン 4.1.0 以降で設定可能です。presto-connector-hive 設定分類を使用します。

Trino (PrestoSQL): Amazon EMRバージョン 6.1.0 以降で設定可能です。prestosql-connector-hive または trino-connector-hive 設定分類を使用します。

node.properties

PrestoDB: Amazon EMRバージョン 5.6.0 以降で設定可能です。presto-node 設定分類を使用します。

Trino (PrestoSQL): Amazon EMRバージョン 6.1.0 以降で設定可能です。prestosql-node または trino-node 設定分類を使用します。

jvm.config

設定可能ではありません。

PrestoDB と Trino のインストール

アプリケーション名 Presto は、クラスターに PrestoDB をインストールするために引き続き使用されます。クラスターに Trino をインストールするには、アプリケーション名 Trino (または古いバージョンの Amazon の PrestoSQLEMR) を使用します。

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

EMRFS と PrestoS3FileSystem の設定

Amazon EMRバージョン 5.12.0 以降では、PrestoDB は を使用できますEMRFS。これはデフォルト設定です。 EMRFSは、Amazon EMRバージョン 6.1.0 以降の Trino (PrestoSQL) のデフォルトのファイルシステムでもあります。詳細については、「Amazon EMR管理ガイド」のEMR「ファイルシステム (EMRFS)」を参照してください。以前のバージョンの Amazon ではEMR、PrestoS3 FileSystem が唯一の設定オプションです。

セキュリティ設定を使用して、Amazon S3 内のEMRFSデータの暗号化を設定できます。Amazon S3 へのEMRFSリクエストに IAMロールを使用することもできます。詳細については、「Amazon EMR管理ガイド」の「暗号化オプションについて」および「Amazon S3 へのリクエストのロールを設定する」を参照してください。 IAM EMRFS Amazon S3

注記

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 デフォルトを上書きし、PrestoS3instead FileSystem を使用できます。これを行うには、次の例に示すように presto-connector-hive 設定分類を使用して、hive.s3-file-system-typePRESTO に設定します。詳細については、「アプリケーションの設定」を参照してください。

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

PrestoS3FileSystem を使用する場合は、presto-connector-hive設定分類 または Trino trino-connector-hiveで PrestoS3FileSystem プロパティを設定します。使用可能なプロパティの詳細については、Presto ドキュメントの「Hive Connector」セクションにある「Amazon S3 の設定」を参照してください。これらの設定は には適用されませんEMRFS。

エンドユーザー偽装のデフォルト設定

デフォルトでは、Amazon EMRバージョン 5.12.0 以降では、エンドユーザー偽装による へのアクセスが有効になっていますHDFS。詳細については、Presto のドキュメントの「エンドユーザー偽装」を参照してください。この設定を presto-config 設定分類を使用して変更するには、hive.hdfs.impersonation.enabled プロパティを false に設定します。

Presto ウェブインターフェイス用のデフォルトポート

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

一部のリリースでの Hive バケットの実行に関する問題

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" } } ]