Verhindern, dass ein Crawler ein vorhandenes Schema ändert - 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.

Verhindern, dass ein Crawler ein vorhandenes Schema ändert

Sie können verhindern, dass AWS-Glue-Crawler bei der Ausführung Schemaänderungen am Data Catalog vornehmen. Standardmäßig aktualisieren Crawler das Schema im Data Catalog so, dass es der Datenquelle entspricht, die gecrawlt wird. Manchmal möchten Sie jedoch möglicherweise verhindern, dass der Crawler das vorhandene Schema ändert, insbesondere wenn Sie die Daten transformiert oder bereinigt haben und nicht möchten, dass das ursprüngliche Schema die Änderungen überschreibt.

Gehen Sie wie unten beschrieben vor, um Ihren Crawler so zu konfigurieren, dass er das bestehende Schema in einer Tabellendefinition nicht überschreibt.

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

  2. Wählen Sie im Datenkatalog die Option Crawler aus.

  3. Wählen Sie einen Crawler in der Liste aus und wählen Sie Bearbeiten aus.

  4. Wählen Sie Schritt 4: Festlegen von Ausgabe und Zeitplanung aus.

  5. Wählen Sie unter Erweiterte Optionen die Option Nur neue Spalten hinzufügen oder Änderung ignorieren und Tabelle im Data Catalog nicht aktualisieren aus.

  6. Sie können außerdem eine Crawler-Konfigurationsoption Alle neuen und vorhandenen Partitionen mit Metadaten aus der Tabelle aktualisieren festlegen. Dadurch wird festgelegt, dass Partitionsschemas von der Tabelle erben.

  7. Wählen Sie Aktualisieren aus.

AWS CLI

Das folgende Beispiel zeigt, wie ein Crawler so konfiguriert wird, dass er das bestehende Schema nicht ändert, sondern nur neue Spalten hinzufügt:

aws glue update-crawler \ --name myCrawler \ --configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": {"AddOrUpdateBehavior": "MergeNewColumns"}}}'

Das folgende Beispiel zeigt, wie ein Crawler so konfiguriert wird, dass er das bestehende Schema nicht ändert und keine neue Spalten hinzufügt:

aws glue update-crawler \ --name myCrawler \ --schema-change-policy UpdateBehavior=LOG \ --configuration '{"Version": 1.0, "CrawlerOutput": {"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }}}'
API

Wenn Sie nicht möchten, dass ein Tabellenschema geändert wird, wenn ein Crawler ausgeführt wird, legen Sie die Schemaänderungsrichtlinie auf LOG fest.

Legen Sie folgende Parameter fest, wenn Sie den Crawler mit der API konfigurieren:

  • Legen Sie das UpdateBehavior-Feld in der SchemaChangePolicy-Struktur auf LOG fest.

  • Legen Sie das Configuration-Feld mit einer Zeichenfolgendarstellung des folgenden JSON-Objekts in der Crawler-API fest, beispielsweise:

    { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }