Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Protocollo di commit ottimizzato per S3 EMRFS e caricamenti in più parti
Per utilizzare l'ottimizzazione per la sovrascrittura dinamica delle partizioni nel protocollo di commit ottimizzato per S3 EMRFS, i caricamenti in più parti devono essere abilitati in Amazon EMR. I caricamenti in più parti sono abilitati per impostazione predefinita. È possibile abilitarli nuovamente, se necessario. Per ulteriori informazioni, consulta Configurazione del caricamento in più parti per Amazon S3 nella Guida alla gestione di Amazon EMR.
Durante la scovrascittura dinamica delle partizioni, il protocollo di commit ottimizzato per S3 EMRFS utilizza le caratteristiche tipo transazione dei caricamenti in più parti per garantire che i file scritti da tentativi di attività siano visualizzati solo nella posizione di output del processo durante il commit del processo. Utilizzando i caricamenti in più parti in questo modo, il protocollo di commit migliora le prestazioni del commit dei processi rispetto al protocollo SQLHadoopMapReduceCommitProtocol
predefinito. Quando utilizzi il protocollo di commit ottimizzato per S3 EMRFS, esistono delle differenze chiave rispetto al comportamento tradizionale del caricamento in più parti di cui tenere conto:
-
I caricamenti in più parti vengono sempre eseguiti indipendentemente dalle dimensioni del file. Questo differisce dal comportamento predefinito di EMRFS, dove la proprietà
fs.s3n.multipart.uploads.split.size
controlla le dimensioni del file in cui vengono attivati i caricamenti in più parti. -
I caricamenti in più parti restano in stato incompleto per un periodo di tempo più lungo fino a quando avviene il commit o l'arresto dell'attività. Questo differisce dal comportamento predefinito di EMRFS dove un caricamento in più parti si competa quando l'attività termina la scrittura in un determinato file.
A causa di queste differenze, se un esecutore JVM di Spark si arresta in modo anomalo o viene interrotto mentre le attività sono in corso e stanno scrivendo dati in Amazon S3, oppure un driver JVM di Spark ha un arresto anomalo o viene chiuso in modo forzato mentre è in corso un processo, i caricamenti in più parti hanno più probabilità di restare indietro. Per questo motivo, quando utilizzi il protocollo di commit ottimizzato per S3 EMRFS, assicurati di seguire le best practice per la gestione dei caricamenti in più parti non riusciti. Per ulteriori informazioni, consulta le best practice per utilizzare i bucket Amazon S3 nella Guida alla gestione di Amazon EMR.