Considerazioni riguardanti Presto on Amazon EMR - Amazon EMR

Considerazioni riguardanti Presto on Amazon EMR

Considera le seguenti limitazioni quando esegui Presto su Amazon EMR.

Eseguibile della riga di comando Presto

In Amazon EMR, PrestoDB e Trino utilizzano entrambi lo stesso eseguibile della riga di comando, presto-cli, come nell'esempio seguente.

presto-cli --catalog hive

Proprietà di implementazione Presto non configurabili

La versione di Amazon EMR utilizzata determina le configurazioni di implementazione di Presto disponibili. Per ulteriori informazioni su queste proprietà di configurazione, consulta Implementazione di Presto nella documentazione Presto. Nella seguente tabella sono riportate le diverse opzioni di configurazione per i file properties Presto.

File Configurabile

log.properties

PrestoDB: configurabile in Amazon EMR versione 4.0.0 e successive. Utilizza la classificazione della configurazione presto-log.

Trino (PrestoSQL): configurabile in Amazon EMR versione 6.1.0 e successive. Utilizza la classificazione della configurazione prestosql-log o trino-log.

config.properties

PrestoDB: configurabile in Amazon EMR versione 4.0.0 e successive. Utilizza la classificazione della configurazione presto-config.

Trino (PrestoSQL): configurabile in Amazon EMR versione 6.1.0 e successive. Utilizza la classificazione della configurazione prestosql-config o trino-config.

hive.properties

PrestoDB: configurabile in Amazon EMR versione 4.1.0 e successive. Utilizza la classificazione della configurazione presto-connector-hive.

Trino (PrestoSQL): configurabile in Amazon EMR versione 6.1.0 e successive. Utilizza la classificazione della configurazione prestosql-connector-hive o trino-connector-hive.

node.properties

PrestoDB: configurabile in Amazon EMR versione 5.6.0 e successive. Utilizza la classificazione della configurazione presto-node.

Trino (PrestoSQL): configurabile in Amazon EMR versione 6.1.0 e successive. Utilizza la classificazione della configurazione prestosql-node o trino-node.

jvm.config

Non configurabile

Installazione di PrestoDB e Trino

Il nome dell'applicazione Presto continua ad essere utilizzato per installare PrestoDB sui cluster. Per installare Trino sui cluster, usa il nome dell'applicazione Trino (o PrestoSQL nelle versioni precedenti di Amazon EMR).

Puoi installare PrestoDB o Trino, ma non puoi installare entrambi in un singolo cluster. Se specifichi sia PrestoDB che Trino quando provi a creare un cluster, si verifica un errore di convalida e la richiesta di creazione del cluster ha esito negativo.

Configurazione EMRFS e PrestoS3FileSystem

Con Amazon EMR versione 5.12.0 e successive, PrestoDB può utilizzare EMRFS. Questa è la configurazione predefinita. EMRFS è anche il file system predefinito per Trino (PrestoSQL) in Amazon EMR versione 6.1.0 e successive. Per ulteriori informazioni, consulta File System EMR (EMRFS) nella Guida alla gestione di Amazon EMR. Con le versioni precedenti di Amazon EMR, Prestos3FileSystem è l'unica opzione di configurazione.

Puoi utilizzare una configurazione di sicurezza per impostare la crittografia per i dati EMRFS in Amazon S3. Puoi anche utilizzare ruoli IAM per richieste EMRFS ad Amazon S3. Per ulteriori informazioni, consulta Comprensione delle opzioni di crittografia e Configurazione dei ruoli IAM per richieste EMRFS ad Amazon S3 nella Guida alla gestione di Amazon EMR.

Nota

Se interroghi i dati sottostanti in Amazon S3 con Amazon EMR versione 5.12.0, possono verificarsi errori di Presto. Questo avviene perché Presto non riesce a raccogliere i valori di classificazione della configurazione da emrfs-site.xml. Come soluzione alternativa, crea una sottodirectory emrfs in usr/lib/presto/plugin/hive-hadoop2/ e crea un collegamento simbolico in usr/lib/presto/plugin/hive-hadoop2/emrfs sul file /usr/share/aws/emr/emrfs/conf/emrfs-site.xml esistente. Quindi riavvia il processo presto-server (sudo presto-server stop seguito da sudo presto-server start).

Puoi ignorare l'impostazione predefinita EMRFS e utilizzare invece PrestoS3FileSystem. A questo scopo, utilizza la classificazione della configurazione presto-connector-hive per impostare hive.s3-file-system-type su PRESTO come mostrato nel seguente esempio. Per ulteriori informazioni, consulta Configurazione delle applicazioni.

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

Se utilizzi PrestoS3FileSystem, utilizza la classificazione di configurazione presto-connector-hive o trino-connector-hive per Trino per configurare le proprietà di PrestoS3FileSystem. Per ulteriori informazioni sulle proprietà disponibili, consulta Configurazione di Amazon S3 nella sezione Connettore Hive della documentazione Presto. Queste impostazioni non si applicano a EMRFS.

Impostazione predefinita per rappresentazione utente finale

Per impostazione predefinita, Amazon EMR versione 5.12.0 e successive consente la rappresentazione dell'utente finale per l'accesso a HDFS. Per ulteriori informazioni, consulta la sezione relativa alla End user impersonation (Rappresentazione dell'utente finale) nella documentazione di Presto. Puoi modificare questa impostazione utilizzando la classificazione di configurazione presto-config impostando la proprietà hive.hdfs.impersonation.enabled su false.

Porta predefinita per interfaccia Web Presto

Per impostazione predefinita, Amazon EMR configura l'interfaccia Web Presto sul sistema di coordinamento Presto per utilizzare la porta 8889 (per PrestoDB e Trino). Per modificare la porta, utilizza la classificazione di configurazione presto-config per impostare la proprietà http-server.http.port. Per ulteriori informazioni, consulta Config properties (Proprietà di configurazione) nella sezione Deploying Presto (Implementazione di Presto) della documentazione di Presto.

Problema con l'esecuzione di bucket Hive in alcuni rilasci

Presto versione 152.3 ha un problema con l'esecuzione del bucket Hive che riduce notevolmente le prestazioni delle query Presto in alcune circostanze. Questa versione di Presto è inclusa nelle versioni di Amazon EMR 5.0.3, 5.1.0 e 5.2.0. Per ridurre il verificarsi di questo problema, utilizza la classificazione della configurazione presto-connector-hive per impostare la proprietà hive.bucket-execution su false come mostrato nel seguente esempio.

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