View a markdown version of this page

Le S3-optimized committer EMRFS et les téléchargements partitionnés - Amazon EMR

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 S3-optimized committer EMRFS et les téléchargements partitionnés

Pour utiliser le S3-optimized committer EMRFS, vous devez activer les chargements partitionnés pour 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.

Le S3-optimized committer EMRFS utilise les caractéristiques de type transaction des téléchargements partitionnés pour garantir que les fichiers écrits par tentative de tâche apparaissent uniquement dans l'emplacement de sortie de la tâche lors de la validation de la tâche. En utilisant les téléchargements partitionnés de cette manière, le valideur améliore les performances de validation des tâches par rapport à la version 2 de l' FileOutputCommitter algorithme par défaut. Lorsque vous utilisez le S3-optimized committer 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.size contrô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 un Spark Executor JVM crache ou qu'il est tué lorsque des tâches sont en cours d'exécution ou écrivent des données à Amazon S3, les chargements partitionnés inachevés ont plus de chances d'être laissés de côté. C'est pourquoi, lorsque vous utilisez le S3-optimized committer EMRFS, veillez à suivre les meilleures pratiques pour gérer les échecs de téléchargement partitionné. Pour plus d'informations, consultez Bonnes pratiques pour travailler avec des compartiments Amazon S3 dans le Guide de gestion Amazon EMR.