Amazon-S3-Verbindungen - AWS Glue

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.

Amazon-S3-Verbindungen

Sie können AWS Glue für Spark zum Lesen und Schreiben von Dateien in Amazon S3 verwenden. AWS Glue für Spark unterstützt standardmäßig viele gängige Datenformate, die in Amazon S3 gespeichert sind, darunter CSV, Avro, JSON, Orc und Parquet. Weitere Informationen zu unterstützten Datenformaten finden Sie unter Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark. Jedes Datenformat unterstützt möglicherweise einen anderen Satz von AWS-Glue-Features. Informieren Sie sich auf der Seite für Ihr Datenformat über die Besonderheiten der Feature-Unterstützung. Darüber hinaus können Sie versionierte Dateien lesen und schreiben, die in den Data-Lake-Frameworks Hudi, Iceberg und Delta Lake gespeichert sind. Weitere Informationen zu Data Lake-Frameworks finden Sie unter Verwendung von Data-Lake-Frameworks mit AWS Glue-ETL-Aufträgen.

Mit AWS Glue können Sie Ihre Amazon-S3-Objekte beim Schreiben in eine Ordnerstruktur partitionieren und sie dann nach Partitionen abrufen, um die Leistung durch einfache Konfiguration zu verbessern. Sie können die Konfiguration auch so festlegen, dass kleine Dateien beim Transformieren Ihrer Daten gruppiert werden, um die Leistung zu verbessern. Sie können in Amazon S3 lesen, bzip2 schreiben und gzip archivieren.

Konfiguration von S3-Verbindungen

Um in einem AWS Glue mit Spark-Auftrag eine Verbindung zu Amazon S3 herzustellen, benötigen Sie einige Voraussetzungen:

  • Der AWS-Glue-Auftrag muss über IAM-Berechtigungen für relevante Amazon-S3-Buckets verfügen.

In bestimmten Fällen müssen Sie zusätzliche Voraussetzungen konfigurieren:

  • Bei der Konfiguration des kontoübergreifenden Zugriffs sind entsprechende Zugriffskontrollen für den Amazon-S3-Bucket erforderlich.

  • Aus Sicherheitsgründen können Sie Ihre Amazon-S3-Anfragen über eine Amazon VPC weiterleiten. Dieser Ansatz kann zu Herausforderungen in Bezug auf Bandbreite und Verfügbarkeit führen. Weitere Informationen finden Sie unter Amazon-VPC-Endpunkte für Amazon S3.

Referenz zur Amazon-S3-Verbindungsoption

Bezeichnet eine Verbindung mit Amazon S3.

Da Amazon S3 Dateien und nicht Tabellen verwaltet, müssen Sie zusätzlich zur Angabe der in diesem Dokument bereitgestellten Verbindungseigenschaften auch zusätzliche Konfigurationen für Ihren Dateityp angeben. Sie geben diese Informationen über Datenformatoptionen an. Weitere Informationen zu den Formatoptionen finden Sie unter Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark. Sie können diese Informationen auch durch die Integration mit dem AWS Glue Data Catalog angeben.

Betrachten Sie als Beispiel für die Unterscheidung zwischen Verbindungsoptionen und Formatoptionen die Art und Weise, wie die create_dynamic_frame_from_options-Methode connection_type, connection_options, format und format_options verwendet. In diesem Abschnitt werden speziell die für connection_options bereitgestellten Parameter erläutert.

Verwenden Sie die folgenden Verbindungsoptionen mit "connectionType": "s3":

  • "paths": (Erforderlich) Eine Liste der Amazon-S3-Pfade, aus denen gelesen werden soll.

  • "exclusions": (Optional) Eine Zeichenfolge, die eine JSON-Liste der auszuschließenden Glob-Muster im Unix-Stil enthält. Beispiel: "[\"**.pdf\"]" schließt alle PDF-Dateien aus. Weitere Informationen zur Glob-Syntax, die AWS Glue unterstützt, finden Sie unter Include- und Exclude-Muster.

  • "compressionType" oder "compression": (Optional) Gibt an, wie die Daten komprimiert werden. Verwenden von "compressionType" für Amazon-S3-Quellen und "compression" für Amazon-S3-Ziele. Dies ist in der Regel nicht notwendig, wenn die Daten eine Standard-Dateierweiterung haben. Mögliche Werte sind "gzip" und "bzip2"). Für bestimmte Formate werden möglicherweise zusätzliche Komprimierungsformate unterstützt. Einzelheiten zur Feature-Unterstützung finden Sie auf der Seite zum Datenformat.

  • "groupFiles": (Optional) Die Gruppierung von Dateien ist standardmäßig aktiviert, wenn die Eingabe mehr als 50 000 Dateien enthält. Um die Gruppierung mit weniger als 50 000 Dateien zu aktivieren, setzen Sie diesen Parameter auf "inPartition". Um die Gruppierung zu deaktivieren, wenn mehr als 50 000 Dateien vorhanden sind, setzen Sie diesen Parameter auf "none".

  • "groupSize": (Optional) Die Größe der Zielgruppe in Bytes. Der Standardwert wird anhand der Größe der Eingabedaten und der Größe des Clusters berechnet. Wenn es weniger als 50 000 Eingabedateien gibt, muss "groupFiles" auf "inPartition" gesetzt werden, damit dies wirksam wird.

  • "recurse": (Optional) Wenn auf true gesetzt, werden Dateien in allen Unterverzeichnissen unter den angegebenen Pfaden rekursiv gelesen.

  • "maxBand": (Optional, erweitert) – Diese Option steuert die Dauer in Millisekunden, nach der die s3-Auflistung wahrscheinlich konsistent ist. Dateien mit Änderungszeitstempeln, die innerhalb der letzten maxBand Millisekunden liegen, werden vor allem bei der Verwendung von JobBookmarks zur Berücksichtigung der letztendlichen Konsistenz von Amazon S3 verfolgt. Die meisten Benutzer müssen diese Option nicht festlegen. Der Standardwert ist 900 000 Millisekunden oder 15 Minuten

  • "maxFilesInBand": (Optional, erweitert) – Diese Option gibt die maximale Anzahl von Dateien an, die aus den letzten maxBand Sekunden gespeichert werden sollen. Wird diese Anzahl überschritten, werden zusätzliche Dateien übersprungen und erst bei der nächsten Auftragsausführung verarbeitet. Die meisten Benutzer müssen diese Option nicht festlegen.

  • "isFailFast": (Optional) Diese Option bestimmt, ob ein AWS Glue-ETL-Auftrag Reader-Parsing-Ausnahmen ausgibt. Wenn true, schlagen Aufträge schnell fehl, wenn vier Wiederholungen der Spark-Aufgabe die Daten nicht korrekt parsen.

  • "catalogPartitionPredicate": (Optional) Wird zum Lesen verwendet. Der Inhalt einer SQL-WHERE-Klausel. Wird beim Lesen aus Data-Catalog-Tabellen mit einer sehr großen Anzahl von Partitionen verwendet. Ruft passende Partitionen aus Data-Catalog-Indizes ab. Wird mit push_down_predicate, einer Option der create_dynamic_frame_from_catalog-Methode (und anderen ähnlichen Methoden) verwendet. Weitere Informationen finden Sie unter Serverseitige Filterung mit Katalogpartitionsprädikaten.

  • "partitionKeys": (Optional) Wird zum Schreiben verwendet. Ein Array von Zeichenfolgen für Spaltenbezeichnungen. AWS Glue partitioniert Ihre Daten gemäß dieser Konfiguration. Weitere Informationen finden Sie unter Schreiben von Partitionen.

  • "excludeStorageClasses": (Optional) Wird zum Lesen verwendet. Ein Array von Zeichenfolgen, die Amazon-S3-Speicherklassen angeben. AWS Glue schließt Amazon-S3-Objekte basierend auf dieser Konfiguration aus. Weitere Informationen finden Sie unter Ausschließen von Amazon-S3-Speicherklassen.

Veraltete Verbindungssyntaxen für Datenformate

Auf bestimmte Datenformate kann mithilfe einer bestimmten Verbindungstyp-Syntax zugegriffen werden. Diese Syntax ist veraltet. Wir empfehlen Ihnen, Ihre Formate stattdessen mithilfe des s3-Verbindungstyps und der in Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark bereitgestellten Formatoptionen anzugeben.

"connectionType": "orc"

Bezeichnet eine Verbindung zu Dateien, die in Amazon S3 im Dateiformat Apache Hive Optimized Row Columnar (ORC) gespeichert sind.

Verwenden Sie die folgenden Verbindungsoptionen mit "connectionType": "orc":

  • paths: (Erforderlich) Eine Liste der Amazon-S3-Pfade, aus denen gelesen werden soll.

  • (weitere Name-Wert-Paare für Optionen): Alle zusätzlichen Optionen einschließlich Formatierungsoptionen werden direkt an die SparkSQL-DataSource übergeben.

"connectionType": "parquet"

Bezeichnet eine Verbindung mit Dateien, die in Amazon S3 im Dateiformat Apache Parquet gespeichert sind.

Verwenden Sie die folgenden Verbindungsoptionen mit "connectionType": "parquet":

  • paths: (Erforderlich) Eine Liste der Amazon-S3-Pfade, aus denen gelesen werden soll.

  • (weitere Name-Wert-Paare für Optionen): Alle zusätzlichen Optionen einschließlich Formatierungsoptionen werden direkt an die SparkSQL-DataSource übergeben.