Abilitazione del committer ottimizzato EMRFS S3 di Hive - Amazon EMR

Abilitazione del committer ottimizzato EMRFS S3 di Hive

Il committer ottimizzato EMRFS S3 di Hive è un modo alternativo con cui EMR Hive scrive i file per le query di inserimento quando si utilizza EMRFS. Il committer elimina le operazioni di elenco e rinominazione eseguite su Amazon S3 e migliora le prestazioni dell'applicazione. La funzione è disponibile a partire da EMR 5.34 e EMR 6.5.

Abilitazione del committer

Se desideri abilitare EMR Hive in modo da utilizzare HiveEMRFSOptimizedCommitter per eseguire il commit dei dati come impostazione predefinita per tutte le tabelle gestite da Hive e le tabelle esterne, utilizza la configurazione hive-site seguente nei cluster EMR 6.5.0 o EMR 5.34.0.

[ { "classification": "hive-site", "properties": { "hive.blobstore.use.output-committer": "true" } } ]
Nota

Non attivare questa funzione quando hive.exec.parallel è impostato su true.

Limitazioni

Ai tag si applicano le seguenti limitazioni di base:

  • L'abilitazione di Hive per unire automaticamente file di piccole dimensioni non è supportata. La logica di commit Hive predefinita verrà utilizzata anche quando il committer ottimizzato è abilitato.

  • Le tabelle Hive ACID non sono supportate. La logica di commit Hive predefinita verrà utilizzata anche quando il committer ottimizzato è abilitato.

  • Il sistema di denominazione dei file per i file scritti viene modificata da quella di Hive <task_id>_<attempt_id>_<copy_n> a <task_id>_<attempt_id>_<copy_n>_<query_id>. Ad esempio, un file denominato

    s3://warehouse/table/partition=1/000000_0 verrà modificato in s3://warehouse/table/partition=1/000000_0-hadoop_20210714130459_ba7c23ec-5695-4947-9d98-8a40ef759222-1. L'query_id di seguito è una combinazione di nome utente, marca temporale e UUID.

  • Quando le partizioni personalizzate sono su file system diversi (HDFS, S3), questa funzione viene disabilitata automaticamente. La logica di commit Hive predefinita verrà utilizzata quando abilitata.