Guida alla migrazione: da EMRFS a S3A Filesystem - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida alla migrazione: da EMRFS a S3A Filesystem

A partire dalla versione EMR-7.10.0, S3A Filesystem è il connettore filesystem/s3 predefinito per i cluster EMR per tutti gli schemi di file S3, inclusi i seguenti:

  • s3://

  • s3n://

  • s3a://

Questa modifica si applica a tutte le implementazioni EMR, inclusi gli ambienti EKS ed EMR Serverless EC2, Glue ETL.

Se desideri continuare a utilizzare EMRFS, puoi configurarlo aggiungendo la seguente proprietà al file di configurazione: core-site.xml

<property> <name>fs.s3.impl</name> <value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value> </property>

Migrazione di configurazioni EMRFS esistenti a configurazioni S3A

Nota

Amazon EMR implementa la mappatura automatica della configurazione tra EMRFS e S3A quando vengono soddisfatte condizioni specifiche. Il processo di mappatura si verifica automaticamente quando le configurazioni S3A non sono definite mentre sono presenti le configurazioni EMRFS corrispondenti. Questa funzionalità di mappatura automatica si estende alle configurazioni a livello di bucket, consentendo una perfetta integrazione tra le impostazioni EMRFS e S3A. A titolo illustrativo, quando si configura un'impostazione di crittografia specifica per un bucket in EMRFS utilizzando 'fs.s3.bucket.amzn-s3-demo-bucket1. serverSideEncryption.kms.keyId' con un valore di «XYZ», il sistema lo mappa automaticamente alla configurazione S3A equivalente impostando 'fs.s3a.encryption.key' su «XYZ» per il bucket specificato amzn-s3-demo-bucket1.

Il seguente set predefinito di configurazioni EMRFS verrà automaticamente convertito nei corrispondenti equivalenti di configurazione S3A. Tutte le configurazioni attualmente implementate tramite cluster o job override passeranno senza problemi al file system S3A senza richiedere configurazioni o modifiche manuali aggiuntive.

Per impostazione predefinita, questa funzionalità di mappatura della configurazione viene attivata automaticamente. Gli utenti che desiderano disabilitare questa traduzione automatica possono farlo aggiungendo la seguente proprietà al file di configurazione core-site.xml.

<property> <name>fs.s3a.emrfs.compatibility.enable</name> <value>false</value> </property>
Nota

La mappatura delle chiavi di crittografia di EMRFS (fs.s3. serverSideEncryption.kms.keyID o fs.S3.cse.KMS.keyID) a S3A (fs.s3a.encryption.key) si verifica solo quando la crittografia SSE-KMS o CSE-KMS è abilitata su entrambi i file system.

Mappatura della configurazione da EMRFS a S3A
Nome di configurazione EMRFS Nome di configurazione S3A
FS.S3.AIMD.Adjust Window FS.S3A.AIMD.Adjust finestra
fs.s3.aimd. abilitato fs.s3a.aimd.enabled
fs.s3.aimd. Aumenta l'incremento fs.s3a.aimd.Aumenta l'incremento
fs.s3.aimd. Frequenza iniziale fs.s3a.aimd. Frequenza iniziale
Tentativi FS.S3.AIMD.max fs.s3a.aimd.maxAttempts
Tariffa fs.s3.aimd.min Tariffa FS.S3A.AIMD.min
FS.S3.AIMD. fattore di riduzione FS.S3A.AIMD. fattore di riduzione
fs.s3.sts.endpoint fs.s3a.assumed.role.sts.endpoint
fs.s3.sts. sessionDurationSeconds fs.s3a.assumed.role.session.duration
fs.s3.authorization.roleMapping fs.s3a.Authorization.RoleMapping
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. enableServerSidecifratura fs.s3a.encryption.algorithm
fs.s3. serverSideEncryption.kms.KeyId/fs.s3.cse.kms.KeyId 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
Connessioni FS.S3.max fs.s3a.connection.maximum
fs.s3.max riprova 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.canned.acl fs.s3a.acl.impostazione predefinita
fs.s3.positionedRead.Optimization.Enabled fs.s3a.positionedRead.Optimization.Abilitato
fs.s3. readFullyIntoBuffers.Optimization.Abilitato fs.s3a. readFullyIntoBuffers.Optimization.Abilitato
fs.s3.signerType algoritmo di firma fs.s3a.
classe fs.s3.storage fs.s3a.create.storage.class
fs.s3.threadpool.maxSize fs.s3a.threads.max
fs.s3. useRequesterPaysIntestazione fs.s3a.requester.pays.enabled
fs.s3n.block.size fs.s3a.block.size
fs.s3n.endpoint fs.s3a.endpoint
fs.s3n.ssl.enabled fs.s3a.connection.ssl.enabled
fs.s3.open. acceptsFileStatus fs.s3a.apri. acceptsFileStatus
fs.s3.connection. maxIdleMilliSecondi fs.s3a.connection.idle.time
fs.s3.s3 AccessGrants .abilitato fs.s3a.access.grants.enabled
fs.s3.s3.fallback su IAM AccessGrants fs.s3a.access.grants.fallback.to.iam

Considerazioni e limitazioni

Configurazioni EMRFS non supportate

Le seguenti configurazioni EMRFS sono state identificate come non supportate o obsolete e, di conseguenza, non verrà fornita alcuna mappatura diretta alle rispettive configurazioni S3A. Queste configurazioni specifiche non verranno tradotte o trasferite automaticamente durante la migrazione al file system S3A.

Configurazioni e motivi EMRFS non supportati
Nome Config EMRFS Motivo del mancato supporto
fs.s3.consistent Amazon S3 offre una forte read-after-write coerenza e quindi la funzionalità di visualizzazione coerente EMRFS non è richiesta.
fs.s3.consistent.dynamodb.endpoint
fs.s3.consistente. fastFirstRetrySecondi
fs.s3.consistent.fastlist
fs.s3.consistent.fastList.BatchSize
Metadati fs.s3.consistent.fastList.PrefetchMetadati
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.secondi
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.batchSize
fs.s3.consistent.notification.sqs.customMsg
FS.S3.consistent.Notification.sqs. pathReportLimit
FS.S3.consistent.Notification.sqs. pullWaitTimeSecondi
fs.s3.consistent.notification.sqs.QueueName
fs.s3.consistent.RetryCount
fs.s3.css. cryptoStorageMode A differenza di EMRFS che utilizza AWS SDK V1. S3A utilizza AWS SDK V2 dove queste opzioni non sono supportate.
fs.s3.cse. cryptoStorageMode. deleteInstructionFiles.abilitato
fs.s3.cse.Encryption v2. Abilitato
FS.S3.cse.MaterialsDescription.Abilitato
fs.s3.multipart.clean.age.threshold La funzione Periodical Up Of Incomplete Multi Part Upload (MPU) non è disponibile con S3A. Configura invece la politica del ciclo di vita del bucket S3 per eliminare eventuali errori. MPUs
fs.s3.multipart.clean.enabled
fs.s3.multipart.clean.jitter.max La funzionalità è stata aggiunta per evitare che i thread di caricamento in più parti si blocchino o rallentino. S3A non presenta problemi simili e quindi non è richiesto.
fs.s3.multipart.fraction.part.avg.completion.time
fs.s3.multipart.part.attempts
fs.s3.multipart.th.fraction.parts.completed
fs.s3.instanceProfile.retryCount Si tratta di configurazioni specifiche di EMRFS che non sono richieste in S3A a causa di differenze di funzionalità e architettura.
fs.s3.instanceProfile. retryPeriodSeconds
fs.s3. externalStagedFiles. maxActiveTasks
fs.s3.folderObject.autoAction.Disabled
fs.s3.folderObject.AutoInsert
fs.s3.getObject. initialSocketTimeoutMillisecondi
fs.s3.listfiles.incrementalFetch.Enabled
fs.s3. listFilesInOrdine. includeDescendantsOfFile
fs.s3.listObjects.EncodingType
fs.s3.buckets.create.region
fs.s3.configuration.load.enableled
fs.s3.create. allowFileNameEndsWithFolderSuffix
fs.s3.open.lazyConnection.Enabled
fs.s3.region.fallback
fs.s3.region.retryCount
fs.s3.region. retryPeriodSeconds
fs.s3.rename.algorithm.version
fs.s3.requestHandler.Class Names
fs.s3.requestStatistics.abilitato
fs.s3.requestStatistics.sinks
fs.s3. retryPeriodSeconds
Strategia 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.s3AccessGrants. retryDelayBase
fs.s3.s3. AccessGrants throttledRetryDelayBase
fs.s3.s3.max Tentativi AccessGrants