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.
Guide de migration : système de fichiers EMRFS vers S3A
Depuis la version EMR-7.10.0, le système de fichiers S3A est le système de fichiers/connecteur s3 par défaut pour les clusters EMR pour tous les schémas de fichiers S3, y compris les suivants :
s3 ://
s3n ://
s3a ://
Cette modification s'applique à tous les déploiements EMR, y compris les environnements EKS et EMR Serverless EC2, Glue ETL.
Si vous souhaitez continuer à utiliser EMRFS, vous pouvez le configurer en ajoutant la propriété suivante au fichier de core-site.xml
configuration :
<property> <name>fs.s3.impl</name> <value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value> </property>
Migration de configurations EMRFS existantes vers des configurations S3A
L'ensemble prédéfini de configurations EMRFS suivant sera automatiquement traduit en leurs équivalents de configuration S3A correspondants. Toutes les configurations actuellement mises en œuvre par le biais de remplacements de clusters ou de tâches seront facilement transférées vers le système de fichiers S3A sans nécessiter de configuration ou de modifications manuelles supplémentaires.
Par défaut, cette fonctionnalité de mappage de configuration est automatiquement activée. Les utilisateurs qui souhaitent désactiver cette traduction automatique peuvent le faire en ajoutant la propriété suivante au fichier de configuration core-site.xml.
<property> <name>fs.s3a.emrfs.compatibility.enable</name> <value>false</value> </property>
Nom de configuration EMRFS | Nom de configuration S3A |
---|---|
fs.s3.aimd.AdjustWindow | FS.S3A.AIMD.Régler la fenêtre |
fs.s3.aimd.enabled | fs.s3a.aimd.enabled |
fs.s3.aimd.IncreaseIncrement | fs.s3a.aimd.IncreaseIncrement |
fs.s3.aimd.taux initial | fs.s3a.aimd.taux initial |
FS.S3.AIMD.Max Tentatives | FS.S3A.AIMD.Max Tentatives |
Tarif fs.s3.aimd.min | Tarif fs.s3a.aimd.min |
Facteur de réduction FS.S3.AIM. | FS.S3A.AIM D. Facteur de réduction |
fs.s3.sts.endpoint | fs.s3a.assumed.role.sts.endpoint |
fs.s3.sts. sessionDurationSeconds | fs.s3a.assumed.role.session.duration |
FS.S3. Autorisation. Cartographie des rôles | FS.S3A. Autorisation. Cartographie des rôles |
fs.s3.authorization.ugi.groupName.Enabled | fs.s3a.Authorization.UGI.GroupName.Enabled |
fs.s3. credentialsResolverClass | fs.s3a.credentials.resolver |
fs.s3n.multipart.uploads.enabled | fs.s3a.multipart.uploads.enabled |
fs.s3n.multipart.uploads.split.size | fs.s3a.multipart.size |
fs.s3. serverSideEncryption.km. customEncryptionContext | fs.s3a.encryption.context |
fs.s3. enableServerSideChiffrement | fs.s3a.encryption.algorithm |
fs.s3. serverSideEncryptionID de clé .kms | fs.s3a.encryption.key |
fs.s3.cse.kms.region | fs.s3a.encryption.cse.kms.region |
fs.s3.authorization.audit.enabled | fs.s3a.authorization.audit.enabled |
fs.s3.buckets.create.enabled | fs.s3a.bucket.probe |
fs.s3.delete. maxBatchSize | fs.s3a.bulk.delete.page.size |
fs.s3.filestatus.metadata.enabled | fs.s3a.metadata.cache.enabled |
Connexions FS.S3.max | fs.s3a.connection.maximum |
FS.S3.max Réessaie | fs.s3a.retry.limit |
fs.s3.metadata.cache.expiration.seconds | fs.s3a.metadata.cache.expiration.seconds |
fs.s3.buffer.dir | fs.s3a.buffer.dir |
fs.s3.cand.acl | fs.s3a.acl.default |
FS.S3.PositionedRead.Optimization.Activé | FS.S3A.PositionedRead.Optimization.Activé |
fs.s3. readFullyIntoBuffers. Optimisation activée | fs.3a. readFullyIntoBuffers. Optimisation activée |
FS.S3. Type de signature | algorithme de signature fs.s3a |
Classe de stockage FS.S3 | fs.s3a.create.storage.class |
fs.s3.threadpool.maxSize | fs.s3a.threads.max |
fs.s3. useRequesterPaysEn-tête | fs.s3a.requester.pays.enabled |
fs.s3n.block.size | fs.s3a .block.size |
fs.s3n.endpoint | point de terminaison fs.s3a. |
fs.s3n.ssl.enabled | fs.s3a.connection.ssl.enabled |
fs.s3.open. acceptsFileStatus | fs.s3a.open. acceptsFileStatus |
connexion fs.s3. maxIdleMilliSecondes | fs.s3a.connection.idle.time |
fs.s3.s3 .enabled AccessGrants | fs.s3a.access.grants.enabled |
fs.s3.s3AccessGrants. Retournez à IAM | fs.s3a.access.grants.fallback.to.iam |
Considérations et restrictions
-
Tous les moteurs EMR (Spark, Flink, Tez MapReduce, Hive, etc.) utiliseront le S3A comme connecteur S3 par défaut, à l'exception des moteurs Trino et Presto.
-
L'EMR S3A ne prend pas en charge l'intégration avec EMR Ranger. Envisagez de migrer vers AWS Lake Formation.
-
AWS Lake Formation Support with RecordServer For EMR Spark with S3A n'est pas pris en charge. Pensez à utiliser Spark Native FGAC.
-
AWS S3 Select n'est pas pris en charge.
-
L'option de nettoyage périodique en cas de téléchargement multipartie (MPU) incomplet n'est pas disponible avec S3A. Envisagez de configurer la politique de cycle de vie des compartiments S3 pour éliminer les éléments pendants MPUs.
-
Afin de migrer d'EMRFS vers S3A tout en utilisant le chiffrement S3 CSE-CUSTOM, le fournisseur de clés personnalisées doit être réécrit d'une interface à l'autre. EMRFSRSAEncryptionMaterialsProvider
Reportez-vous à la section Configuration de S3A CSE-CUSTOM pour plus d'informations. Les répertoires Amazon S3 créés à l'aide d'EMRFS sont marqués d'un suffixe « _$folder$ », tandis que les répertoires créés à l'aide du système de fichiers S3A se terminent par un suffixe «/», ce qui est cohérent avec les répertoires créés via la console S3. AWS
Pour utiliser un fournisseur d'informations d'identification S3 personnalisé, définissez la propriété de configuration S3A
fs.s3a.aws.credentials.provider
avec la même classe de fournisseur d'informations d'identification que celle utilisée précédemment dans la configuration EMRFS.fs.s3.customAWSCredentialsProvider
Configurations EMRFS non prises en charge
Les configurations EMRFS suivantes ont été identifiées comme non prises en charge ou obsolètes et, par conséquent, aucun mappage direct ne sera fourni à leurs homologues de configuration S3A. Ces configurations spécifiques ne seront pas automatiquement traduites ou reportées lors de la migration vers le système de fichiers S3A.
Nom de la configuration EMRFS | Raison pour laquelle vous ne soutenez pas |
---|---|
fs.s3.consistent | Amazon S3 offre une forte read-after-write cohérence |
fs.s3.consistent.dynamodb.endpoint | |
fs.s3.consistent. fastFirstRetrySecondes | |
fs.s3.Consistent.FastList | |
fs.s3. Consistent.FastList.BatchSize | |
fs.s3.consistent.fastlist.prefetchMetadata | |
fs.s3.consistent.metadata.accesskey | |
fs.s3.consistent.metadata.autoCreate | |
fs.s3.consistent.metadata.capacity.autoincrease | |
fs.s3.consistent.Metadata.Capacity.AutoIncrease.Factor | |
fs.s3.Consistent.Metadata.Capacity.AutoIncrease.MaxRead | |
fs.s3.consistent.Metadata.Capacity.AutoIncrease.MaxWrite | |
fs.s3.consistent.metadata.conditional | |
fs.s3.consistent.metadata.delete.ttl.enabled | |
fs.s3.consistent.metadata.delete.ttl.expiration.seconds | |
fs.s3.consistent.metadata.etag.verification.enabled | |
fs.s3.consistent.metadata.read.capacity | |
fs.s3.consistent.metadata.read.capacity.limit | |
fs.s3.consistent.metadata.SecretKey | |
fs.s3.consistent.metadata.TableName | |
fs.s3.consistent.metadata.write.capacity | |
fs.s3.consistent.metadata.write.capacity.limit | |
fs.s3.consistent.notification. CloudWatch | |
fs.s3.consistent.notification.sqs | |
fs.s3.consistent.notification.sqs.Taille du lot | |
fs.s3.consistent.notification.sqs.customMsg | |
fs.s3.consistent.notification.sqs. pathReportLimit | |
fs.s3.consistent.notification.sqs. pullWaitTimeSecondes | |
fs.s3.consistent.notification.sqs.QueueName | |
fs.s3.consistent.RetryCount | |
fs.s3.cse. cryptoStorageMode | Contrairement à EMRFS qui utilise le AWS SDK V1. S3A utilise le AWS SDK V2 lorsque ces options ne sont pas prises en charge. |
fs.s3.cse. cryptoStorageMode. deleteInstructionFiles.activé | |
fs.s3.cse.EncryptionV2.activé | |
fs.s3.cse.materialsDescription.Enabled | |
fs.s3.multipart.clean.age.threshold | Le nettoyage périodique en cas de téléchargement multipartie (MPU) incomplet n'est pas disponible avec S3A. Configurez plutôt la politique de cycle de vie des compartiments S3 pour éliminer les éléments pendants MPUs. |
fs.s3.multipart.clean.enabled | |
fs.s3.multipart.clean.jitter.max | Cette fonctionnalité a été ajoutée pour éviter que les fils de téléchargement en plusieurs parties ne soient bloqués ou lents. Le S3A ne présente pas de problème similaire et n'est donc pas requis. |
fs.s3.multipart.fraction.part.avg.completion.time | |
fs.s3.multipart.part.attempts | |
fs.s3.multipart.th.fraction.parts.completed | |
fs.s3.instanceprofile.retryCount | Il s'agit de configurations spécifiques à EMRFS qui ne sont pas requises dans S3A en raison de différences de fonctionnalité et d'architecture. |
fs.s3.instanceProfile. retryPeriodSeconds | |
fs.s3. externalStagedFiles. maxActiveTasks | |
fs.s3.FolderObject.AutoAction.Disabled | |
fs.s3.FolderObject .AutoInsert | |
fs.s3.GetObject. initialSocketTimeoutMillisecondes | |
fs.s3.ListFiles.IncrementalFetch.Enabled | |
fs.s3. listFilesInCommande. includeDescendantsOfDossiers | |
fs.s3.ListObjects.EncodingType | |
fs.s3.buckets.create.region | |
fs.s3.configuration.load.enablebled | |
fs.s3.create. allowFileNameEndsWithFolderSuffix | |
fs.s3.open.LazyConnection.activé | |
fs.s3.region.fallback | |
fs.s3.region.retryCount | |
fs.s3.region. retryPeriodSeconds | |
fs.s3.rename.algorithm.version | |
fs.s3.RequestHandler.ClassNames | |
fs.s3. Demander des statistiques. Activé | |
fs.s3. Demander des statistiques. Sinks | |
fs.s3. retryPeriodSeconds | |
Stratégie FS.S3.SEEK | |
fs.s3.threadpool.buffer.size | |
fs.s3.threadpool.maxSize | |
fs.s3. useDirectoryHeaderAsFolderObject | |
fs.s3n.filestatuscache.enable | |
fs.s3.delete.retryCount | |
fs.s3.s3 .CacheSize AccessGrants | |
fs.s3.s3. AccessGrants retryDelayBase | |
fs.s3.s3. AccessGrants throttledRetryDelayBase | |
fs.s3.s3 .maxRéessais AccessGrants |