Erstellen eines einzelnen Schemas für jeden Amazon S3 S3-Include-Pfad - 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.

Erstellen eines einzelnen Schemas für jeden Amazon S3 S3-Include-Pfad

Standardmäßig gilt: Wenn ein Crawler Tabellen für in Amazon S3 gespeicherte Daten definiert, berücksichtigt er sowohl die Datenkompatibilität als auch die Schema-Ähnlichkeit. Zu den Datenkompatibilitätsfaktoren, die berücksichtigt werden, gehören, ob die Daten dasselbe Format (z. B.JSON), denselben Komprimierungstyp (z. B.GZIP) haben, die Struktur des Amazon S3 S3-Pfads und andere Datenattribute. Die Ähnlichkeit des Schemas ist ein Maß dafür, wie ähnlich die Schemas separater Amazon-S3-Objekte sind.

Um diese Option veranschaulichen, nehmen Sie an, Sie definieren einen Crawler mit dem Include-Pfad s3://bucket/table1/. Wenn der Crawler ausgeführt wird, findet er zwei JSON Dateien mit den folgenden Eigenschaften:

  • Datei 1S3://bucket/table1/year=2017/data1.json

  • Dateiinhalt{“A”: 1, “B”: 2}

  • SchemaA:int, B:int

  • Datei 2S3://bucket/table1/year=2018/data2.json

  • Dateiinhalt{“C”: 3, “D”: 4}

  • SchemaC: int, D: int

Standardmäßig erstellt der Crawler zwei Tabellen namens year_2017 und year_2018, da die Schemas nicht ausreichend ähnlich sind. Wenn jedoch die Option Create a single schema for each S3 path (Erstellen eines einzelnen Schemas für jeden S3-Pfad) ausgewählt ist, und wenn die Daten kompatibel sind, erstellt der Crawler eine Tabelle. Die Tabelle hat das Schema A:int,B:int,C:int,D:int und partitionKey year:string.

AWS Management Console
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/.

  2. Wählen Sie unter dem Datenkatalog die Option Crawlers aus.

  3. Wenn Sie einen neuen Crawler konfigurieren, wählen Sie unter Ausgabe und Planung unter Erweiterte Optionen die Option Ein einzelnes Schema für jeden S3-Pfad erstellen aus.

AWS CLI

Sie können einen Crawler konfigurieren, um CombineCompatibleSchemas in einer gemeinsamen Tabellendefinition durchzuführen, sofern dies möglich ist. Mit dieser Option berücksichtigt der Crawler weiterhin die Datenkompatibilität, ignoriert aber die Ähnlichkeit der spezifischen Schemata bei der Auswertung von Amazon-S3-Objekten im angegebenen Include-Pfad.

Wenn Sie den Crawler mit dem konfigurieren AWS CLI, legen Sie die folgende Konfigurationsoption fest:

aws glue update-crawler \ --name myCrawler \ --configuration '{"Version": 1.0, "Grouping": {"TableGroupingPolicy": "CombineCompatibleSchemas" }}'
API

Wenn Sie den Crawler mit dem konfigurierenAPI, legen Sie die folgende Konfigurationsoption fest:

Stellen Sie das Configuration Feld mit einer Zeichenkette ein, die das folgende JSON Objekt im Crawler darstelltAPI; zum Beispiel:

{ "Version": 1.0, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }