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.
Daten in Amazon S3 Express One Zone hochladen
Übersicht
Mit Amazon EMR 6.15.0 und höher können Sie Amazon EMR mit Apache Spark in Verbindung mit der Amazon S3 Express One Zone-Speicherklasse verwenden, um die Leistung Ihrer Spark-Jobs zu verbessern. EMRAmazon-Versionen 7.2.0 und höher unterstützen HBase auch Flink und Hive, sodass Sie auch von S3 Express One Zone profitieren können, wenn Sie diese Anwendungen verwenden. S3 Express One Zone ist eine S3-Speicherklasse für Anwendungen, die häufig mit Hunderttausenden Anfragen pro Sekunde auf Daten zugreifen. Zum Zeitpunkt seiner Veröffentlichung bietet S3 Express One Zone den Cloud-Objektspeicher mit der niedrigsten Latenz und der höchsten Leistung in Amazon S3.
Voraussetzungen
-
Berechtigungen für S3 Express One Zone – Wenn S3 Express One Zone eine Aktion wie
GET
,LIST
oderPUT
für ein Amazon-S3-Objekt aufruft, ruft die SpeicherklasseCreateSession
in Ihrem Namen auf. Ihre IAM Richtlinie muss dies3express:CreateSession
Genehmigung zulassen, damit der S3A Connector den aufrufen kann.CreateSession
API Ein Beispielrichtlinie mit dieser Berechtigung finden Sie unter Erste Schritte mit Amazon S3 Express One Zone. -
S3A-Konnektor – Um Ihren Spark-Cluster für den Zugriff auf Daten aus einem Amazon-S3-Bucket zu konfigurieren, der die Speicherklasse S3 Express One Zone verwendet, müssen Sie den Apache-Hadoop-Konnektor S3A verwenden. Um den Connector zu verwenden, stellen Sie sicher, dass alle S3 das
s3a
Schema URIs verwenden. Wenn dies nicht der Fall ist, können Sie die Dateisystemimplementierung, die Sie fürs3
- unds3n
-Schemata verwenden, ändern.
Um das s3
-Schema zu ändern, geben Sie die folgenden Clusterkonfigurationen an:
[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Um das s3n
-Schema zu ändern, geben Sie die folgenden Clusterkonfigurationen an:
[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Erste Schritte mit Amazon S3 Express One Zone
Themen
Eine Berechtigungsrichtlinie erstellen
Bevor Sie einen Cluster erstellen können, der Amazon S3 Express One Zone verwendet, müssen Sie eine IAM Richtlinie erstellen, die an das EC2 Amazon-Instance-Profil für den Cluster angehängt wird. Die Richtlinie muss über Berechtigungen für den Zugriff auf die Speicherklasse S3 Express One Zone verfügen. Die folgende Beispielrichtlinie zeigt, wie die erforderliche Berechtigung gewährt wird. Nachdem Sie die Richtlinie erstellt haben, fügen Sie die Richtlinie der Instance-Profilrolle hinzu, die Sie zur Erstellung Ihres EMR Clusters verwenden, wie im Ihren Cluster erstellen und konfigurieren Abschnitt beschrieben.
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:
region-code
:account-id
:bucket/DOC-EXAMPLE-BUCKET", "Action": [ "s3express:CreateSession" ] } ] }
Ihren Cluster erstellen und konfigurieren
Erstellen Sie als Nächstes einen Cluster, auf dem SparkHBase, Flink oder Hive mit S3 Express One Zone ausgeführt wird. Die folgenden Schritte beschreiben einen allgemeinen Überblick über die Erstellung eines Clusters in der AWS Management Console:
-
Navigieren Sie zur EMR Amazon-Konsole und wählen Sie in der Seitenleiste Cluster aus. Wählen Sie dann Create cluster (Cluster erstellen) aus.
-
Wenn Sie Spark verwenden, wählen Sie EMR Amazon-Version
emr-6.15.0
oder höher. Wenn Sie Flink oder Hive verwendenHBase, wählen Sieemr-7.2.0
eine höhere Version. -
Wählen Sie die Anwendungen aus, die Sie in Ihren Cluster aufnehmen möchten, z. B. Spark oder HBase Flink.
-
Um Amazon S3 Express One Zone zu aktivieren, geben Sie im Abschnitt Softwareeinstellungen eine Konfiguration ein, die dem folgenden Beispiel ähnelt. Die Konfigurationen und empfohlenen Werte werden in dem Abschnitt Konfigurationsübersicht beschrieben, der diesem Verfahren folgt.
[ { "Classification": "core-site", "Properties": { "fs.s3a.aws.credentials.provider": "software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider", "fs.s3a.change.detection.mode": "none", "fs.s3a.endpoint.region": "
aa-example-1
", "fs.s3a.select.enabled": "false" } }, { "Classification": "spark-defaults", "Properties": { "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false" } } ] -
Wählen Sie im EMR Abschnitt EC2Instanzprofil für Amazon aus, ob Sie eine vorhandene Rolle verwenden möchten, und verwenden Sie eine Rolle mit der angehängten Richtlinie, die Sie im obigen Eine Berechtigungsrichtlinie erstellen Abschnitt erstellt haben.
-
Konfigurieren Sie die restlichen Cluster-Einstellungen entsprechend Ihrer Anwendung und wählen Sie dann Create cluster (Cluster erstellen) aus.
Konfigurationsübersicht
In den folgenden Tabellen werden die Konfigurationen und vorgeschlagenen Werte beschrieben, die Sie angeben sollten, wenn Sie einen Cluster einrichten, der S3 Express One Zone mit Amazon verwendetEMR, wie im Ihren Cluster erstellen und konfigurieren Abschnitt beschrieben.
S3A-Konfigurationen
Parameter | Standardwert | Empfohlener Wert | Erklärung |
---|---|---|---|
|
Wenn nicht angegeben, wird |
|
Die EMR Amazon-Instance-Profilrolle sollte die Richtlinie haben, die es dem S3A Dateisystem ermöglicht, aufzurufen |
|
Null |
Der AWS-Region Ort, an dem Sie den Bucket erstellt haben. |
Die Logik zur Regionsauflösung funktioniert nicht mit der Speicherklasse S3 Express One Zone. |
|
|
|
Amazon S3 |
|
|
Keine |
Die Änderungserkennung von S3A erfolgt, indem MD5-basierte |
Spark-Konfigurationen
Parameter | Standardwert | Empfohlener Wert | Erklärung |
---|---|---|---|
|
|
false
|
Die interne Optimierung verwendet einen API S3-Parameter, den die S3 Express One Zone-Speicherklasse nicht unterstützt. |
Überlegungen
Beachten Sie Folgendes, wenn Sie Apache Spark auf Amazon EMR in die Speicherklasse S3 Express One Zone integrieren:
-
Amazon S3 Express One Zone wird mit EMR Amazon-Versionen 6.15.0 und höher unterstützt.
-
Der S3A-Anschluss ist erforderlich, um S3 Express One Zone mit Amazon EMR zu verwenden. Nur S3A verfügt über die Features und Speicherklassen, die für die Interaktion mit S3 Express One Zone erforderlich sind. Schritte zum Einrichten des Konnektors finden Sie unter Voraussetzungen.
-
Die Speicherklasse Amazon S3 Express One Zone wird nur mit Spark auf einem EMR Amazon-Cluster unterstützt, der auf Amazon läuftEC2.
-
Die Speicherklasse Amazon S3 Express One Zone unterstützt nur die SSE-S3-Verschlüsselung. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3).
-
Die Speicherklasse Amazon S3 Express One Zone unterstützte keine Schreibvorgänge mit dem S3A
FileOutputCommitter
. Schreibvorgänge mit dem S3AFileOutputCommitter
in Buckets von S3 Express One Zone führen zu einem Fehler: InvalidStorageClass: The storage class you specified is not valid. -
Die Speicherklasse Amazon S3 Express One Zone wird mit Amazon EMR Serverless oder Amazon EMR on EKS nicht unterstützt.