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 EMR-7.10.0 versione, S3A Filesystem è il connettore predefinito per i cluster EMR filesystem/s3 per tutti gli schemi di file S3, inclusi i seguenti:
s3://
s3n://
s3a://
Questa modifica si applica a tutte le implementazioni EMR, incluse EC2, EKS ed EMR Serverless.
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> <property> <name>fs.s3n.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 del bucket in EMRFS utilizzando «fs.s3.bucket.amzn-s3-demo-bucket1.serverSideEncryption.kms.keyId» con un valore di «XYZ», il sistema la mappa automaticamente alla configurazione S3A equivalente impostando «fs.s3a.encryption.key» su «XYZ» per il bucket specificato amzn-s3-demo-bucketet.key 1.
Il seguente set predefinito di configurazioni EMRFS verrà automaticamente tradotto 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 da EMRFS (fs.s3.server SideEncryption.kms.keyId o fs.s3.cse.KMS.KeyID) a S3A (fs.s3a.encryption.key) si verifica solo quando una delle due o la crittografia è abilitata su uno dei due file system. SSE-KMS CSE-KMS
| 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.session DurationSeconds | fs.s3a.assumed.role.session.duration |
| fs.s3.authorization.roleMapping | fs.s3a.Authorization.RoleMapping |
| fs.s3.authorization.ugi.group Name.enabled | fs.s3a.authorization.ugi.group Name.enabled |
| fs.s3.credentials ResolverClass | 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.server SideEncryption.kms.customEncryptionContext | fs.s3a.encryption.context |
| fs.s3.enable ServerSideEncryption | fs.s3a.encryption.algorithm |
| fs.s3.server/SideEncryption.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.max BatchSize | 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.positioned Read.optimization.enabled | fs.s3a. posizionato Read.optimization.enabled |
| fs.s3.read FullyIntoBuffers.optimization.enabled | fs.s3a.read FullyIntoBuffers.optimization.enabled |
| 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.use RequesterPaysHeader | 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.accetta FileStatus | fs.s3a.open.accetta FileStatus |
| fs.s3.connection.max IdleMilliSeconds | fs.s3a.connection.idle.time |
| fs.s3.s3 AccessGrants.enabled | fs.s3a.access.grants.enabled |
| fs.s3.s3 AccessGrants.fallbackToIAM | fs.s3a.access.grants.fallback.to.iam |
Considerazioni e limitazioni
-
Tutti i motori EMR: Spark, Flink, Tez MapReduce, Hive ecc. utilizzeranno S3A come connettore S3 predefinito ad eccezione dei motori Trino e Presto.
-
EMR S3A non supporta l'integrazione con EMR Ranger. Prendi in considerazione la migrazione a AWS Lake Formation.
-
AWS Lake Formation Support with RecordServer For EMR Spark with S3A non è supportato. Prendi in considerazione l'utilizzo di Spark Native FGAC.
-
AWS S3 Select non è supportato.
-
L'opzione per la pulizia periodica del caricamento multiparte incompleto (MPU) non è disponibile con S3A. Valuta la possibilità di configurare la politica del ciclo di vita del bucket S3 per eliminare le MPU sospese.
-
Per migrare da EMRFS a S3A utilizzando la crittografia S3 CSE-CUSTOM , il fornitore di chiavi personalizzate deve essere riscritto dall'interfaccia all'interfaccia Keyring. EMRFSRSAEncryptionMaterialsProvider
Per ulteriori informazioni, consulta la sezione Configurazione di S3A. CSE-CUSTOM Le directory Amazon S3 create utilizzando EMRFS sono contrassegnate con un suffisso '_$folder$', mentre le directory create utilizzando il file system S3A terminano con un suffisso '/', che è coerente con le directory create tramite la console S3. AWS
Per utilizzare un provider di credenziali S3 personalizzato, imposta la proprietà di configurazione S3A con la stessa classe di provider di credenziali utilizzata in precedenza nella configurazione EMRFS.
fs.s3a.aws.credentials.providerfs.s3.customAWSCredentialsProvider
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.
| Nome Config EMRFS | Motivo del mancato supporto |
|---|---|
| fs.s3.consistent | Amazon S3 offre una forte coerenza di lettura dopo scrittura |
| fs.s3.consistent.dynamodb.endpoint | |
| fs.s3.consistent.veloce FirstRetrySeconds | |
| fs.s3.consistent.fastList | |
| fs.s3.consistent.fast List.batchSize | |
| fs.s3.consistent.veloce List.prefetchMetadata | |
| fs.s3.consistent.metadata.AccessKey | |
| fs.s3.consistent.metadata.Autocreate | |
| fs.s3.consistent.metadata.capacity.AutoIncrease | |
| fs.s3.consistent.metadata.capacity.auto Increase.factor | |
| fs.s3.consistent.metadata.capacity.auto Increase.maxRead | |
| fs.s3.consistent.metadata.capacity.auto Increase.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.pullWaitTimeSeconds | |
| fs.s3.consistent.notification. SQS.queueName | |
| fs.s3.consistent.retryCount | |
| fs.s3.cse.crypto StorageMode | A differenza di EMRFS che utilizza SDK V1. AWS S3A utilizza AWS SDK V2 dove queste opzioni non sono supportate. |
| fs.s3.cse.crypto StorageMode.deleteInstructionFiles.enabled | |
| fs.s3.cse.encryption V2.enabled | |
| fs.s3.cse.materiali Description.enabled | |
| 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 ripulire le MPU sospese. |
| 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.attemps | |
| fs.s3.multipart.th.fraction.parts.completed | |
| fs.s3.instance Profile.retryCount | Si tratta di configurazioni specifiche di EMRFS che non sono richieste in S3A a causa di differenze di funzionalità e architettura. |
| fs.3.instance Profile.retryPeriodSeconds | |
| fs.s3.external StagedFiles.maxActiveTasks | |
| cartella fs.s3 Object.autoAction.disabled | |
| cartella fs.s3. Object.autoInsert | |
| fs.s3.get Object.initialSocketTimeoutMilliseconds | |
| fs.s3.list Files.incrementalFetch.enabled | |
| fs.s3.list FilesInOrder.includeDescendantsOfFiles | |
| fs.s3.list Objects.encodingType | |
| fs.s3.buckets.create.region | |
| fs.s3.configuration.load.enableled | |
| fs.s3.create.allow FileNameEndsWithFolderSuffix | |
| fs.s3.open.lazy Connection.enabled | |
| fs.s3.region.fallback | |
| fs.s3.region.retryCount | |
| fs.s3.region.retry PeriodSeconds | |
| fs.s3.rename.algorithm.version | |
| fs.s3.request Handler.classNames | |
| fs.s3.request Statistics.enabled | |
| fs.s3.request Statistics.sinks | |
| fs.s3.riprova PeriodSeconds | |
| Strategia fs.s3.seek | |
| fs.s3.threadpool.buffer.size | |
| fs.s3.threadpool.maxSize | |
| fs.s3.use DirectoryHeaderAsFolderObject | |
| fs.s3n.filestatuscache.enable | |
| fs.s3.delete.retryCount | |
| fs.s3.s3 AccessGrants.cacheSize | |
| fs.s3.s3 AccessGrants.retryDelayBase | |
| fs.s3.s3 AccessGrants.throttledRetryDelayBase | |
| fs.s3.s3 AccessGrants.maxRetries |