Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrationshandbuch: EMRFS zum S3A-Dateisystem
Ab der Version EMR-7.10.0 ist das S3A-Dateisystem der Standard-Dateisystem/s3-Konnektor für EMR-Cluster für alle S3-Dateischemas, einschließlich der folgenden:
s3://
s3n://
s3a://
Diese Änderung gilt für alle EMR-Bereitstellungen, einschließlich EC2 EKS- und EMR Serverless, Glue ETL-Umgebungen.
Wenn Sie EMRFS weiterhin verwenden möchten, können Sie dies konfigurieren, indem Sie der Konfigurationsdatei die folgende Eigenschaft hinzufügen: core-site.xml
<property> <name>fs.s3.impl</name> <value>com.amazon.ws.emr.hadoop.fs.EmrFileSystem</value> </property>
Migration vorhandener EMRFS-Konfigurationen zu S3A-Konfigurationen
Der folgende vordefinierte Satz von EMRFS-Konfigurationen wird automatisch in die entsprechenden S3A-Konfigurationsäquivalente übersetzt. Alle Konfigurationen, die derzeit über Cluster- oder Job-Overrides implementiert werden, werden nahtlos auf das S3A-Dateisystem umgestellt, ohne dass zusätzliche manuelle Konfigurationen oder Änderungen erforderlich sind.
Standardmäßig ist diese Funktion zur Konfigurationszuweisung automatisch aktiviert. Benutzer, die diese automatische Übersetzung deaktivieren möchten, können dies tun, indem sie der Konfigurationsdatei core-site.xml die folgende Eigenschaft hinzufügen.
<property> <name>fs.s3a.emrfs.compatibility.enable</name> <value>false</value> </property>
Name der EMRFS-Konfiguration | S3A-Konfigurationsname |
---|---|
fs.s3.aimd.AdjustWindow | fs.s3a.aimd.AdjustWindow |
fs.s3.aimd.aktiviert | fs.s3a.aimd.aktiviert |
fs.s3.aimd. Erhöhen Sie das Inkrement | fs.s3a.aimd.Erhöhen Sie das Inkrement |
fs.s3.aimd. Anfangsrate | fs.s3a.aimd.InitialRate |
fs.s3.aimd.max Versuche | fs.s3a.aimd.max-Versuche |
Rate fs.s3.aimd.min | Rate fs.s3a.aimd.min |
fs.s3.aimd.Reduktionsfaktor | fs.S3a.AIMD. Reduktionsfaktor |
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 als.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. enableServerSideVerschlüsselung | fs.s3a.encryption.algorithm |
fs.s3. serverSideEncryption.kms.Schlüssel-ID | fs.s3a.Verschlüsselung.Schlüssel |
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. löschen. maxBatchSize | fs.s3a.bulk.delete.page.size |
fs.s3.filestatus.metadata.enabled | fs.s3a.metadata.cache.enabled |
fs.S3.max-Verbindungen | fs.s3a.Verbindung.Maximum |
fs.s3.max versucht es erneut | 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 hat .acl gescannt | fs.s3a.acl.default |
fs.s3.positionedRead.Optimization.Enabled | fs.s3a.positionedRead.Optimization.Enabled |
fs.s3. readFullyIntoPuffer.Optimierung.Aktiviert | fs.s3a. readFullyIntoPuffer.Optimierung.Aktiviert |
Typ fs.s3.signer | fs.s3a.Signierungsalgorithmus |
fs.s3.Storage-Klasse | fs.s3a.create.storage.class |
fs.s3.threadpool.maxSize | fs.s3a.threads.max |
fs.s3. useRequesterPaysKopfzeile | fs.s3a.requester.pays.enabled |
fs.s3n.block.size | fs.s3a.block.size |
fs.s3n.Endpunkt | fs.s3a.endpoint |
fs.s3n.ssl.enabled | fs.s3a.connection.ssl.enabled |
fs.s3. öffnen. acceptsFileStatus | fs.s3a.öffnen. acceptsFileStatus |
fs.s3-Verbindung. maxIdleMilliSekunden | fs.s3a.connection.idle.time |
fs.s3.s3 AccessGrants .aktiviert | fs.s3a.access.grants.enabled |
fs.s3.s3AccessGrants. Fallback zu IAM | fs.s3a.access.grants.fallback.to.iam |
Überlegungen und Einschränkungen
-
Alle EMR-Engines — Spark, Flink MapReduce, Tez, Hive usw. — verwenden S3A als Standard-S3-Anschluss, mit Ausnahme der Trino- und Presto-Motoren.
-
EMR S3A unterstützt keine Integration mit EMR Ranger. Erwägen Sie, nach AWS Lake Formation zu migrieren.
-
AWS Lake Formation Support mit RecordServer For EMR Spark with S3A wird nicht unterstützt. Erwägen Sie die Verwendung von Spark Native FGAC.
-
AWS S3 Select wird nicht unterstützt.
-
Die Option zur regelmäßigen Bereinigung von unvollständigen Multi-Part-Uploads (MPU) ist in S3A nicht verfügbar. Ziehen Sie in Erwägung, die S3-Bucket-Lebenszyklusrichtlinie so zu konfigurieren, dass nicht mehr gelöschte Dateien entfernt werden. MPUs
-
Um von EMRFS zu S3A zu migrieren und dabei die S3 CSE-CUSTOM-Verschlüsselung zu verwenden, muss der benutzerdefinierte Schlüsselanbieter von Schnittstelle zu Keyring-Schnittstelle neu geschrieben werden. EMRFSRSAEncryptionMaterialsProvider
Weitere Informationen finden Sie unter S3A CSE-CUSTOM einrichten. Amazon S3 S3-Verzeichnisse, die mit EMRFS erstellt wurden, sind mit dem Suffix '_$folder$' gekennzeichnet, während Verzeichnisse, die mit dem S3A-Dateisystem erstellt wurden, mit dem Suffix '/' enden, was mit Verzeichnissen übereinstimmt, die über die S3-Konsole erstellt wurden. AWS
Um einen benutzerdefinierten S3-Anmeldeinformationsanbieter zu verwenden, legen Sie für die S3A-Konfigurationseigenschaft dieselbe Anbieterklasse für Anmeldeinformationen fest, die zuvor in der
fs.s3a.aws.credentials.provider
EMRFS-Konfiguration verwendet wurde.fs.s3.customAWSCredentialsProvider
EMRFS-Konfigurationen werden nicht unterstützt
Die folgenden EMRFS-Konfigurationen wurden als nicht unterstützt oder veraltet identifiziert. Daher wird keine direkte Zuordnung zu ihren Gegenstücken in der S3A-Konfiguration bereitgestellt. Diese spezifischen Konfigurationen werden während der Migration in das S3A-Dateisystem nicht automatisch übersetzt oder übernommen.
EMRFS-Konfigurationsname | Grund für die Nichtunterstützung |
---|---|
fs.s3.consistent | Amazon S3 bietet eine hohe read-after-write Konsistenz |
fs.s3.consistent.dynamodb.endpoint | |
fs.s3. konsistent. fastFirstRetrySekunden | |
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.ablauf.sekunden | |
fs.s3.consistent.metadata.etag.verification.enabled | |
fs.s3.consistent.metadata.read.capacity | |
fs.s3.sistent.metadata.read.capacity.limit | |
fs.s3. Consistent.Metadata.SecretKey | |
fs.s3.Consistent.Metadata.Tabellenname | |
fs.s3.sistent.metadata.write.capacity | |
fs.s3.sistent.metadata.write.capacity.limit | |
fs.s3.consistent. Benachrichtigung. 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. pullWaitTimeSekunden | |
fs.s3.consistent.notification.sqs.QueueName | |
fs.s3.Consistent.RetryCount | |
fs.s3.cse. cryptoStorageMode | Im Gegensatz zu EMRFS, das AWS SDK V1 verwendet. S3A verwendet AWS SDK V2, wo diese Optionen nicht unterstützt werden. |
fs.s3.cse. cryptoStorageMode. deleteInstructionFiles. aktiviert | |
fs.s3.cse.Encryptionv2. aktiviert | |
fs.s3.cse.MaterialsDescription.Aktiviert | |
fs.s3.multipart.clean.age.threshold | Die regelmäßige Bereinigung von unvollständigem mehrteiligem Upload (MPU) ist mit S3A nicht verfügbar. Konfigurieren Sie stattdessen die S3-Bucket-Lebenszyklusrichtlinie, um hängengebliebene Dateien zu beseitigen. MPUs |
fs.s3.multipart.clean.enabled | |
fs.s3.multipart.clean.jitter.max | Die Funktion wurde hinzugefügt, um zu verhindern, dass mehrteilige Upload-Threads hängen bleiben oder langsam werden. S3A hat kein ähnliches Problem und ist daher nicht erforderlich. |
fs.s3.multipart.fraction.part.avg.completion.time | |
fs.s3.multipart.part.versucht | |
fs.s3.multipart.th.fraction.parts.abgeschlossen | |
fs.s3.instanceProfile.Anzahl wiederholter Versuche | Dies sind EMRFS-spezifische Konfigurationen, die in S3A aufgrund von Funktions- und Architekturunterschieden nicht erforderlich sind. |
fs.s3. instanceProfile. retryPeriodSeconds | |
fs.s3. externalStagedFiles. maxActiveTasks | |
fs.s3.FolderObject.AutoAction.Disabled | |
fs.S3.FolderObject.AutoInsert | |
fs.S3. Objekt abrufen. initialSocketTimeoutMillisekunden | |
fs.s3.listfiles.inkrementelles Abrufen.Aktiviert | |
fs.s3. listFilesInBestellung. includeDescendantsOfDateien | |
fs.s3.ListObjects.EncodingType | |
fs.s3.buckets.create.region | |
fs.s3.configuration.load.enablebled | |
fs.s3.create. allowFileNameEndsWithFolderSuffix | |
fs.s3.open.lazyConnection.Enabled | |
fs.s3.region.fallback | |
fs.s3.region.Anzahl wiederholen | |
fs.s3.region. retryPeriodSeconds | |
fs.s3.rename.algorithm.version | |
fs.s3.RequestHandler.Klassennamen | |
fs.s3. Statistik anfordern.Aktiviert | |
fs.s3.requestStatistics.Sinks | |
fs.s3. retryPeriodSeconds | |
FS.S3.Seek-Strategie | |
fs.s3.threadpool.buffer.size | |
fs.s3.threadpool.maxGröße | |
fs.s3. useDirectoryHeaderAsFolderObject | |
fs.s3n.filestatuscache.enable | |
fs.s3.delete.retryCount | |
AccessGrantsfs.s3.s3. Cache-Größe | |
fs.s3.s3AccessGrants. retryDelayBase | |
fs.s3.s3. AccessGrants throttledRetryDelayBasis | |
fs.s3.s3 .max Wiederholungen AccessGrants |