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.
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
-
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 dei caricamenti multiparte incompleti (MPU) non è disponibile con S3A. Valuta la possibilità di configurare la politica del ciclo di vita del bucket S3 per eliminare eventuali problemi. MPUs
-
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.provider
fs.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 read-after-write coerenza |
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 |