Configuration de la vue cohérente - Amazon EMR

Configuration de la vue cohérente

Vous pouvez configurer d'autres paramètres pour la vue cohérente en les fournissant à l'aide des propriétés de configuration pour les propriétés emrfs-site. Par exemple, vous pouvez choisir un autre débit DynamoDB par défaut en fournissant les arguments suivants à l'interface de ligne de commande, à l'aide de l'option --emrfs, en utilisant la classification de configuration de site emrfs (versions 4.x et ultérieures d'Amazon EMR uniquement), ou une action d'amorçage pour configurer le fichier emrfs-site.xml sur le nœud principal :

Exemple Modification des valeurs de lecture et d'écriture de métadonnées par défaut au lancement du cluster
aws emr create-cluster --release-label emr-5.36.1 --instance-type m5.xlarge \ --emrfs Consistent=true,Args=[fs.s3.consistent.metadata.read.capacity=600,\ fs.s3.consistent.metadata.write.capacity=300] --ec2-attributes KeyName=myKey

Vous pouvez également utiliser le fichier de configuration suivant et l'enregistrer localement ou dans Amazon S3 :

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent.metadata.read.capacity": "600", "fs.s3.consistent.metadata.write.capacity": "300" } } ]

Utilisez la configuration que vous avez créée avec la syntaxe suivante :

aws emr create-cluster --release-label emr-5.36.1 --applications Name=Hive \ --instance-type m5.xlarge --instance-count 2 --configurations file://./myConfig.json
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 (^).

Les options suivantes peuvent être définies à l'aide des configurations ou des arguments --emrfs de l'AWS CLI. Pour plus d'informations sur ces arguments, consultez la Référence des commandes AWS CLI.

Propriétés emrfs-site.xml pour la vue cohérente
Propriété Valeur par défaut Description
fs.s3.consistent false

Lorsque la valeur est true, cette propriété configure EMRFS pour utiliser DynamoDB afin d'assurer la cohérence.

fs.s3.consistent.retryPolicyType exponential Cette propriété identifie la stratégie à utiliser lors d'une nouvelle tentative pour des problèmes de cohérence. Les options comprennent : exponential, fixed et none.
fs.s3.consistent.retryPeriodSeconds 1 Cette propriété définit la durée d'attente entre les tentatives de relance de cohérence.
fs.s3.consistent.retryCount 10 Cette propriété définit le nombre maximal de nouvelles tentatives lorsqu'une incohérence est détectée.
fs.s3.consistent.throwExceptionOnInconsistency true Cette propriété détermine s'il convient de lever ou de consigner une exception de cohérence. Lorsque la valeur est true, une exception ConsistencyException est levée.
fs.s3.consistent.metadata.autoCreate true Lorsque la valeur est true, cette propriété permet la création automatique de tables de métadonnées.
fs.s3.consistent.metadata.etag.verification.enabled true Avec Amazon EMR 5.29.0, cette propriété est activée par défaut. Lorsqu'elle est activée, EMRFS utilise S3 ETags pour vérifier que les objets en cours de lecture correspondent à la dernière version disponible. Cette fonctionnalité est utile pour les cas d'utilisation de lecture après mise à jour dans lesquels des fichiers sur S3 sont remplacés tout en conservant le même nom. Cette fonctionnalité de vérification ETag ne fonctionne actuellement pas avec S3 Select.
fs.s3.consistent.metadata.tableName EmrFSMetadata Cette propriété spécifie le nom de la table de métadonnées dans DynamoDB.
fs.s3.consistent.metadata.read.capacity 500 Cette propriété spécifie la capacité de lecture DynamoDB à mettre en service lorsque la table de métadonnées est créée.
fs.s3.consistent.metadata.write.capacity 100 Cette propriété spécifie la capacité d'écriture DynamoDB à mettre en service lorsque la table de métadonnées est créée.
fs.s3.consistent.fastList true Lorsque la valeur est true, cette propriété utilise plusieurs fils pour répertorier un répertoire (si nécessaire). La cohérence doit être activée pour pouvoir utiliser cette propriété.
fs.s3.consistent.fastList.prefetchMetadata false Lorsque la valeur est true, cette propriété permet l'extraction préalable de métadonnées pour les répertoires contenant plus de 20 000 éléments.
fs.s3.consistent.notification.CloudWatch false Lorsque la valeur est true, les métriques CloudWatch sont activées pour les appels d'API de système de fichiers qui échouent en raison de problèmes de cohérence à terme d'Amazon S3.
fs.s3.consistent.notification.SQS false Lorsque la valeur est true, les notifications de cohérence éventuelle font l'objet d'un push vers une file d'attente Amazon SQS.
fs.s3.consistent.notification.SQS.queueName EMRFS-Inconsistency-<jobFlowId> La modification de cette propriété vous permet de spécifier votre propre nom de file d'attente SQS pour les messages concernant les problèmes de cohérence à terme d'Amazon S3.
fs.s3.consistent.notification.SQS.customMsg none Cette propriété vous permet de spécifier des informations personnalisées incluses dans les messages SQS concernant les problèmes de cohérence à terme d'Amazon S3. Si une valeur n'est pas spécifiée pour cette propriété, le champ correspondant dans le message est vide.
fs.s3.consistent.dynamodb.endpoint none Cette propriété vous permet de spécifier un point de terminaison DynamoDB personnalisé pour vos métadonnées de vue cohérente.
fs.s3.useRequesterPaysHeader false Lorsqu'elle est définie sur true, cette propriété autorise les requêtes Amazon S3 à être envoyées dans des compartiments avec l'option de payeur de demandes activée.