Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Le protocole de S3-optimized validation EMRFS et les téléchargements partitionnés
Pour utiliser l'optimisation pour le remplacement dynamique des partitions dans le protocole de S3-optimized validation EMRFS, les téléchargements partitionnés doivent être activés dans Amazon EMR. Les chargements partitionnés sont activés par défaut. Vous pouvez les réactiver si besoin est. Pour plus d'informations, consultez Configuration d'un chargement partitionné pour Simple Storage Service (Amazon S3) dans le Guide de gestion Amazon EMR.
Lors du remplacement dynamique de partitions, le protocole de S3-optimized validation EMRFS utilise les caractéristiques transactionnelles des téléchargements partitionnés pour garantir que les fichiers écrits par des tentatives de tâche n'apparaissent dans l'emplacement de sortie de la tâche qu'au moment de la validation de la tâche. En utilisant les chargements partitionnés de cette manière, le protocole de validation améliore les performances de validation des tâches par rapport au protocole par défaut SQLHadoopMapReduceCommitProtocol. Lorsque vous utilisez le protocole de S3-optimized validation EMRFS, il convient de prendre en compte certaines différences majeures par rapport au comportement de téléchargement partitionné traditionnel :
-
Les chargements partitionnés sont toujours effectués, peu importe la taille du fichier. Ceci diffère du comportement normal d'EMRFS, où la propriété
fs.s3n.multipart.uploads.split.sizecontrôle la taille du fichier à laquelle les chargements partitionnés sont enclenchés. -
Les chargements partitionnés sont laissés en état non terminé pendant un plus long laps de temps jusqu'à ce que la tâche soit validée ou abandonnée. Ceci diffère du comportement normal d'EMRFS, où un chargement partitionné se termine lorsqu'un tâche termine d'écrire un fichier donné.
En raison de ces différences, si une JVM Spark Executor se bloque ou est mise hors service alors que des tâches sont en cours d'exécution et écrivent des données sur Amazon S3, ou si une JVM Spark Driver se bloque ou est mise hors service alors qu'une tâche est en cours d'exécution, les chargements partitionnés incomplets sont plus susceptibles d'être laissés derrière. C'est pourquoi, lorsque vous utilisez le protocole de S3-optimized validation EMRFS, veillez à suivre les meilleures pratiques en matière de gestion des téléchargements partitionnés ayant échoué. Pour plus d'informations, consultez Bonnes pratiques pour travailler avec des compartiments Amazon S3 dans le Guide de gestion Amazon EMR.