Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Chargement de données vers Amazon S3

Mode de mise au point
Chargement de données vers Amazon S3 - 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.

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.

Pour plus d'informations sur la manière de charger des objets sur Amazon S3, consultez la section Ajout d'un objet à votre compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service. Pour plus d'informations sur l'utilisation d'Amazon S3 avec Hadoop, consultez http://wiki.apache. org/hadoop/AmazonS3.

Création et configuration d'un compartiment Amazon S3

Amazon EMR utilise le AWS SDK pour Java avec Amazon S3 pour stocker les données d'entrée, les fichiers journaux et les données de sortie. Amazon S3 fait référence à ces emplacements de stockage en tant que compartiments. Les compartiments sont soumis à certaines restrictions et limitations pour se conformer aux exigences Amazon S3 et DNS. Pour de plus amples informations, consultez Limites et restrictions applicables aux compartiments dans le Guide de l'utilisateur Amazon Simple Storage Service.

Cette section explique comment utiliser Amazon S3 AWS Management Console pour créer puis définir des autorisations pour un compartiment Amazon S3. Vous pouvez également créer et définir des autorisations pour un compartiment Amazon S3 à l'aide de l'API Amazon S3 ou de l' AWS CLI. Vous pouvez aussi utiliser curl avec une modification pour transmettre les paramètres d'authentification appropriés pour Amazon S3.

Consultez les ressources suivantes :

Note

Si vous activez la journalisation pour un compartiment, seuls les journaux d'accès du compartiment sont activés, pas les journaux du cluster Amazon EMR.

Pendant ou après la création du compartiment, vous pouvez définir les autorisations appropriées pour accéder au compartiment en fonction de votre application. Habituellement, vous (le propriétaire) vous donnez accès en lecture et en écriture et accordez l'accès en lecture aux utilisateurs authentifiés.

Les compartiments Amazon S3 requis doivent avoir été créés pour que vous puissiez créer un cluster. Vous devez charger les scripts obligatoires ou les données référencées dans le cluster vers Amazon S3. Le tableau suivant décrit des exemples de données, de scripts et d'emplacements de fichier journal.

Configuration d'un chargement partitionné pour Amazon S3

Amazon EMR prend en charge le téléchargement partitionné d'Amazon S3 via le SDK for AWS Java. Le téléchargement partitionné vous permet de charger un objet unique sous la forme d'un ensemble de parties. Vous pouvez charger ces parties d’objet indépendamment et dans n’importe quel ordre. Si le transfert d'une partie échoue, vous pouvez la retransférer sans affecter les autres. Une fois toutes les parties de l'objet chargées, Amazon S3 les assemble et crée l'objet.

Pour plus d'informations, consultez la section Présentation de chargement partitionné dans le Guide de l'utilisateur Amazon Simple Storage Service.

De plus, Amazon EMR propose des propriétés qui vous permettent de contrôler de manière plus précise le nettoyage des parties de chargements partitionnés échoués.

Le tableau suivant décrit les propriétés de configuration Amazon EMR pour un chargement partitionné. Vous pouvez configurer ces éléments à l’aide de la classification de configuration core-site. Pour plus d'informations, consultez Configuration des applications dans le Guide de version Amazon EMR.

Nom de paramètre de configuration Valeur par défaut Description
fs.s3n.multipart.uploads.enabled true Type booléen qui indique s'il convient d'activer les chargements partitionnés. Lorsque la vue cohérente d'EMRFS est activée, les chargements partitionnés sont activés par défaut et le paramétrage de cette valeur à false est ignoré.
fs.s3n.multipart.uploads.split.size 134217728

Spécifie la taille maximale d'une partie, en octets, avant qu'EMRFS lance un nouveau chargement de partie lorsque le chargement partitionné est activé. La valeur minimale est 5242880 (5 Mo). Si une valeur plus faible est spécifiée, 5242880 est utilisé. Le maximum est 5368709120 (5 Go). Si une valeur supérieure est spécifiée, 5368709120 est utilisé.

Si le chiffrement EMRFS côté client est désactivé et que le Valideur optimisé Amazon S3 est également désactivé, cette valeur contrôle également la dimension maximale qu'un fichier de données peut atteindre jusqu'à ce qu'EMRFS utilise le chargement partitionné plutôt qu'une demande PutObject pour charger le fichier. Pour plus d'informations, veuillez consulter la rubrique

fs.s3n.ssl.enabled true Type booléen qui indique s'il convient d'utiliser http ou https.
fs.s3.buckets.create.enabled false Un type booléen qui indique si un compartiment devrait être créé s'il n'existe pas. Le réglage de false entraîne une exception aux opérations CreateBucket.
fs.s3.multipart.clean.enabled false Type booléen qui indique s'il convient d'activer le nettoyage périodique en arrière plan des chargements partitionnés inachevés.
fs.s3.multipart.clean.age.threshold 604800 Un type long qui spécifie l'âge minimal d'un chargement partitionné, en secondes, avant qu'il ne soit affecté à un nettoyage. La valeur par défaut est une semaine.
fs.s3.multipart.clean.jitter.max 10000 Un type de nombre entier qui spécifie la quantité maximale de délai de sautillement aléatoire en secondes ajouté au délai de 15 minutes fixe avant de programmer le prochain nettoyage.

Désactivation des chargements partitionnés

Console
Pour désactiver les téléchargements partitionnés avec la console
  1. Connectez-vous au et ouvrez la AWS Management Console console Amazon EMR à l'adresse /emr. https://console.aws.amazon.com

  2. Sous EMR activé EC2 dans le volet de navigation de gauche, choisissez Clusters, puis Create cluster.

  3. Sous Paramètres du logiciel, saisissez la configuration suivante : classification=core-site,properties=[fs.s3n.multipart.uploads.enabled=false]

  4. Choisissez toutes les autres options qui s'appliquent à votre cluster.

  5. Pour lancer cluster, choisissez Créer un cluster.

CLI
Pour désactiver le téléchargement partitionné à l'aide du AWS CLI

Cette procédure explique comment désactiver le téléchargement partitionné à l'aide de l' AWS CLI. Pour désactiver le téléchargement partitionné, tapez la commande create-cluster avec le paramètre --bootstrap-actions.

  1. Créez un dossier, myConfig.json avec le contenu suivant et enregistrez-le dans le même répertoire où vous exécutez la commande :

    [ { "Classification": "core-site", "Properties": { "fs.s3n.multipart.uploads.enabled": "false" } } ]
  2. Tapez la commande suivante et myKey remplacez-la par le nom de votre paire de EC2 clés.

    Note

    Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

    aws emr create-cluster --name "Test cluster" \ --release-label emr-7.8.0 --applications Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --configurations file://myConfig.json
API
Pour désactiver le chargement partitionné à l'aide de l'API
Pour désactiver les téléchargements partitionnés avec la console
  1. Connectez-vous au et ouvrez la AWS Management Console console Amazon EMR à l'adresse /emr. https://console.aws.amazon.com

  2. Sous EMR activé EC2 dans le volet de navigation de gauche, choisissez Clusters, puis Create cluster.

  3. Sous Paramètres du logiciel, saisissez la configuration suivante : classification=core-site,properties=[fs.s3n.multipart.uploads.enabled=false]

  4. Choisissez toutes les autres options qui s'appliquent à votre cluster.

  5. Pour lancer cluster, choisissez Créer un cluster.

Bonnes pratiques

Vous trouverez ci-dessous des recommandations pour l'utilisation des compartiments Amazon S3 avec les clusters EMR.

Activation de la gestion des versions

La gestion des versions est une configuration recommandée pour votre compartiment Amazon S3. En activant la gestion des versions, vous vous assurez que si des données sont supprimées ou remplacées accidentellement, elles peuvent être récupérées. Pour plus d'informations, consultez Utilisation de la gestion des versions dans le Guide de l'utilisateur Amazon Simple Storage Service.

Nettoyer les chargements partitionnés échoués

Les composants du cluster EMR utilisent des téléchargements partitionnés via le SDK pour AWS Java avec Amazon APIs S3 pour écrire des fichiers journaux et générer des données vers Amazon S3 par défaut. Pour en savoir plus sur la modification des propriétés liées à cette configuration qui utilise Amazon EMR, consultez Configuration d'un chargement partitionné pour Amazon S3. Parfois, le chargement d'un fichier volumineux peut se traduire par un chargement partitionné Amazon S3 incomplet. Lorsqu'un téléchargement partitionné ne peut pas se terminer avec succès, le téléchargement partitionné en cours continue d'occuper votre compartiment et entraîne des frais de stockage. Pour éviter un stockage excessif de fichiers, nous vous recommandons les options suivantes :

  • Pour les compartiments que vous utilisez avec Amazon EMR, utilisez une règle de configuration dans Amazon S3 pour supprimer les chargements partitionnés incomplets trois jours après la date de début de chargement. Les règles de configuration de cycle de vie vous permettent de contrôler la classe de stockage et la durée de vie de vos objets. Pour plus d'informations, consultez Gestion du cycle de vie de l'objet et Interruption de chargements partitionnés inachevés à l'aide de la stratégie de cycle de vie de compartiment.

  • Activez la fonctionnalité de nettoyage partitionné d'Amazon EMR en définissant fs.s3.multipart.clean.enabled sur true et en réglant d'autres paramètres de nettoyage. Cette fonctionnalité est utile à haut volume, grande échelle et avec des clusters dotés d'une disponibilité limitée. Dans ce cas, le paramètre DaysAfterIntitiation d'une règle de configuration du cycle de vie peut être trop long, même s'il est défini à son minimum, ce qui provoque des pics de stockage sur Amazon S3. Le nettoyage en plusieurs parties d'Amazon EMR permet un contrôle plus précis. Pour de plus amples informations, veuillez consulter Configuration d'un chargement partitionné pour Amazon S3.

Gérer les repères de versions

Nous vous recommandons d'activer une règle de configuration de cycle de vie dans Amazon S3 pour supprimer les marqueurs de suppression des objets expirés pour les compartiments que vous utilisez avec Amazon EMR. Lorsque vous supprimez un objet dans un compartiment dont les versions sont gérées, un marqueur de suppression est créé. Si toutes les versions précédentes de l'objet expirent par la suite, un marqueur de suppression d'objet expiré est conservé dans le compartiment. Aucun frais ne s'applique pour ces marqueurs de suppression, mais la suppression des marqueurs de suppression expirés peut améliorer les performances des demandes LIST. Pour plus d'informations, consultez la section Configuration du cycle de vie d'un compartiment avec la gestion des versions dans le Guide de l'utilisateur Amazon Simple Storage Service.

Bonnes pratiques en matière de performances

Selon vos charges de travail, certains types d'utilisation des applications et des clusters EMR sur ces clusters peuvent se traduire par un grand nombre de demandes adressées à un compartiment. Pour plus d'informations, consultez Considérations en matière de débit de demandes et de performances dans le Guide de l'utilisateur Amazon Simple Storage Service.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.