Überlegungen zu Presto bei Amazon EMR - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überlegungen zu Presto bei Amazon EMR

Beachten Sie die folgenden Einschränkungen, wenn Sie Presto auf Amazon EMR ausführen.

In der Befehlszeile von Presto ausführbare Datei

In Amazon EMR verwenden PrestoDB und Trino beide dieselbe ausführbare Befehlszeilendateipresto-cli, wie im folgenden Beispiel.

presto-cli --catalog hive

Nicht konfigurierbare Presto-Bereitstellungseigenschaften

Die Version von AmazonEMR, die Sie verwenden, bestimmt die verfügbaren Presto-Bereitstellungskonfigurationen. Weitere Informationen zu diesen Konfigurationseigenschaften finden Sie unter Bereitstellen von Presto in der Presto-Dokumentation. Die folgende Tabelle zeigt die Konfigurationsoptionen der Presto-properties-Dateien.

Datei Konfigurierbar

log.properties

PrestoDB: Konfigurierbar in EMR Amazon-Versionen 4.0.0 und höher. Verwenden Sie die presto-log-Konfigurationsklassifizierung.

Trino (PrestoSQL): Konfigurierbar in EMR Amazon-Versionen 6.1.0 und höher. Verwenden Sie die prestosql-log- oder trino-log-Konfigurationsklassifizierung.

config.properties

PrestoDB: Konfigurierbar in EMR Amazon-Versionen 4.0.0 und höher. Verwenden Sie die presto-config-Konfigurationsklassifizierung.

Trino (PrestoSQL): Konfigurierbar in EMR Amazon-Versionen 6.1.0 und höher. Verwenden Sie die prestosql-config- oder trino-config-Konfigurationsklassifizierung.

hive.properties

PrestoDB: Konfigurierbar in EMR Amazon-Versionen 4.1.0 und höher. Verwenden Sie die presto-connector-hive-Konfigurationsklassifizierung.

Trino (PrestoSQL): Konfigurierbar in EMR Amazon-Versionen 6.1.0 und höher. Verwenden Sie die prestosql-connector-hive- oder trino-connector-hive-Konfigurationsklassifizierung.

node.properties

PrestoDB: Konfigurierbar in EMR Amazon-Version 5.6.0 und höher. Verwenden Sie die presto-node-Konfigurationsklassifizierung.

Trino (PrestoSQL): Konfigurierbar in EMR Amazon-Versionen 6.1.0 und höher. Verwenden Sie die prestosql-node- oder trino-node-Konfigurationsklassifizierung.

jvm.config

Nicht konfigurierbar.

Installation von PrestoDB und Trino

Der Anwendungsname Presto wird weiterhin verwendet, um PrestoDB auf Clustern zu installieren. Um Trino auf Clustern zu installieren, verwenden Sie den Anwendungsnamen Trino (oder Presto SQL in älteren Versionen von Amazon). EMR

Sie können entweder PrestoDB oder Trino installieren, aber Sie können nicht beide auf einem einzigen Cluster installieren. Wenn Sie beim Versuch, einen Cluster zu erstellen, sowohl PrestoDB als auch Trino angeben, tritt ein Validierungsfehler auf und die Anfrage zur Clustererstellung schlägt fehl.

EMRFSund PrestoS3-Konfiguration FileSystem

Mit EMR Amazon-Versionen 5.12.0 und höher kann PrestoDB verwenden. EMRFS Dies ist die Standardkonfiguration. EMRFSist auch das Standarddateisystem für Trino (PrestoSQL) in EMR Amazon-Versionen 6.1.0 und höher. Weitere Informationen finden Sie unter EMRDateisystem (EMRFS) im Amazon EMR Management Guide. In früheren Versionen von Amazon EMR FileSystem ist PrestoS3 die einzige Konfigurationsoption.

Sie können eine Sicherheitskonfiguration verwenden, um die Verschlüsselung von EMRFS Daten in Amazon S3 einzurichten. Sie können IAM Rollen auch für EMRFS Anfragen an Amazon S3 verwenden. Weitere Informationen finden Sie unter Grundlegendes zu Verschlüsselungsoptionen und Konfigurieren von IAM Rollen für EMRFS Anfragen an Amazon S3 im Amazon EMR Management Guide.

Anmerkung

Wenn Sie die zugrunde liegenden Daten in Amazon S3 mit Amazon EMR Version 5.12.0 abfragen, können Presto-Fehler auftreten. Dies liegt daran, dass Presto die Konfigurationsklassifizierungswerte von emrfs-site.xml nicht abruft. Um dieses Problem zu umgehen, erstellen Sie ein emrfs-Unterverzeichnis unter usr/lib/presto/plugin/hive-hadoop2/ und erstellen einen Symlink usr/lib/presto/plugin/hive-hadoop2/emrfs zu der vorhandenen Datei /usr/share/aws/emr/emrfs/conf/emrfs-site.xml. Starten Sie dann den Presto-Server-Prozess neu (sudo presto-server stop gefolgt von sudo presto-server start).

Sie können die EMRFS Standardeinstellung überschreiben und stattdessen PrestoS3 verwenden. FileSystem Verwenden Sie dazu die presto-connector-hive-Konfigurationsklassifizierung, um hive.s3-file-system-type auf PRESTO zu setzen, wie im folgenden Beispiel veranschaulicht. Weitere Informationen finden Sie unter Anwendungen konfigurieren.

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

Wenn Sie PrestoS3 verwenden, verwenden Sie die presto-connector-hive Konfigurationsklassifizierung oder trino-connector-hive für TrinoFileSystem, um PrestoS3-Eigenschaften zu konfigurieren. FileSystem Weitere Informationen zu den verfügbaren Eigenschaften finden Sie unter Amazon-S3-Konfiguration im Abschnitt zum Hive-Konnektor in der Presto-Dokumentation. Diese Einstellungen gelten nicht für. EMRFS

Standardeinstellung für Endbenutzer-Identitätswechsel

Standardmäßig ermöglichen EMR Amazon-Versionen 5.12.0 und höher Endbenutzer-Identitätswechsel für den Zugriff auf. HDFS Weitere Informationen finden Sie im Abschnitt zum Endbenutzer-Identitätswechsel in der Presto-Dokumentation. Um diese Einstellung zu ändern, setzen Sie die presto-config-Konfigurationsklassifizierung der hive.hdfs.impersonation.enabled-Eigenschaft auf false.

Standardport für die Presto-Webschnittstelle

Standardmäßig EMR konfiguriert Amazon die Presto-Weboberfläche auf dem Presto-Koordinator für die Verwendung von Port 8889 (für PrestoDB und Trino). Um den Port zu ändern, verwenden Sie die presto-config-Konfigurationsklassifizierung, um die http-server.http.port-Eigenschaft festzulegen. Weitere Informationen finden Sie unter Konfigurationseigenschaften im Abschnitt zur Bereitstellung von Presto in der Presto-Dokumentation.

Problem bei der Hive-Bucket-Ausführung in einigen Versionen

Presto Version 152.3 hat ein Problem mit der Hive-Bucket-Ausführung, das in Presto in einigen Fällen zu einer erheblich langsameren Abfrageleistung führt. Die EMR Amazon-Versionen 5.0.3, 5.1.0 und 5.2.0 enthalten diese Version von Presto. Um dieses Problem abzumildern, verwenden Sie die presto-connector-hive-Konfigurationsklassifizierung, um die Eigenschaft hive.bucket-execution auf false zu setzen, wie im folgenden Beispiel veranschaulicht.

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