Beschleunigung von Crawls mithilfe von Amazon S3-Ereignisbenachrichtigungen - 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.

Beschleunigung von Crawls mithilfe von Amazon S3-Ereignisbenachrichtigungen

Anstatt die Objekte aus einem Amazon S3- oder Data Catalog-Ziel aufzulisten, können Sie den Crawler so konfigurieren, dass er Amazon S3-Ereignisse verwendet, um Änderungen zu finden. Dieses Feature verbessert die Recrawl-Zeit, indem Amazon S3-Ereignisse verwendet werden, um die Änderungen zwischen zwei Crawls zu identifizieren, indem alle Dateien aus dem Unterordner aufgeführt werden, der das Ereignis ausgelöst hat, anstatt das vollständige Amazon S3- oder Data Calatog-Ziel aufzulisten.

Der erste Crawl listet alle Amazon S3-Objekte aus dem Ziel auf. Nach dem ersten erfolgreichen Crawl können Sie wählen, ob Sie manuell oder nach einem festgelegten Zeitplan recrawlen möchten. Der Crawler listet nur die Objekte dieser Ereignisse auf, anstatt alle Objekte aufzulisten.

Wenn das Ziel eine Datenkatalogtabelle ist, aktualisiert der Crawler die vorhandenen Tabellen im Datenkatalog mit Änderungen (z. B. zusätzliche Partitionen in einer Tabelle).

Die Vorteile eines Umstiegs zu einem ereignisbasierten Crawler auf Amazon S3 sind:

  • Ein schnelleres Recrawl, da die Auflistung aller Objekte aus dem Ziel nicht erforderlich ist, stattdessen erfolgt die Auflistung bestimmter Ordner, in denen Objekte hinzugefügt oder gelöscht werden.

  • Eine Senkung der Gesamtdurchforstungskosten, da die Auflistung bestimmter Ordner erfolgt, in denen Objekte hinzugefügt oder gelöscht werden.

Der Amazon S3 S3-Event-Crawl wird ausgeführt, indem Amazon S3 S3-Ereignisse aus der SQS Warteschlange basierend auf dem Crawler-Zeitplan verarbeitet werden. Es fallen keine Kosten an, wenn keine Ereignisse in der Warteschlange vorhanden sind. Amazon S3 S3-Ereignisse können so konfiguriert werden, dass sie direkt in die SQS Warteschlange gehen, oder in Fällen, in denen mehrere Verbraucher dasselbe Ereignis benötigen, eine Kombination aus SNS undSQS. Weitere Informationen finden Sie unter Ihr Konto für Amazon S3 S3-Ereignisbenachrichtigungen einrichten.

Nach dem Erstellen und Konfigurieren des Crawlers im Ereignismodus wird das erste Crawl im Listing-Modus ausgeführt, indem eine vollständige Auflistung des Amazon S3- oder Data Catalog-Ziels ausgeführt wird. Das folgende Protokoll bestätigt den Crawl-Vorgang durch den Verbrauch von Amazon S3-Ereignissen nach dem ersten erfolgreichen Crawl: „Der Crawl wird durch den Verbrauch von Amazon S3-Ereignissen ausgeführt.“

Nach dem Erstellen des Amazon S3-Ereigniscrawls und dem Aktualisieren der Crawler-Eigenschaften, die sich auf das Crawl auswirken können, wird das Crawl im List-Modus ausgeführt und das folgende Protokoll wird hinzugefügt: „Crawl läuft nicht im S3-Ereignismodus“.

Anmerkung

Die maximale Anzahl der zu verarbeitenden Nachrichten beträgt 10.000 Nachrichten pro Crawl.

Einschränkungen

Die folgenden Einschränkungen gelten, wenn Sie einen Crawler so konfigurieren, dass er Amazon S3 S3-Ereignisbenachrichtigungen verwendet, um Änderungen zu finden.

  • Nur ein einziges Ziel wird vom Crawler unterstützt, unabhängig davon, ob es sich um Amazon S3- oder Data Catalog-Ziele handelt.

  • SQSon private VPC wird nicht unterstützt.

  • Amazon S3-Probenahme wird nicht unterstützt.

  • Das Crawler-Ziel sollte ein Ordner für ein Amazon S3 S3-Ziel oder eines oder mehrere sein AWS Glue Datenkatalogtabellen für ein Datenkatalogziel.

  • Der Pfad-Platzhalter „alles“ wird nicht unterstützt: s3://%

  • Bei einem Data Catalog-Ziel sollten alle Katalogtabellen auf denselben Amazon S3-Bucket für den Amazon S3-Ereignismodus verweisen.

  • Bei einem Data Catalog-Ziel sollte eine Katalogtabelle nicht auf einen Amazon S3-Speicherort im Delta Lake-Format verweisen (der Ordner _symlink enthält oder das InputFormat der Katalogtabelle überprüft).

Ihr Konto für Amazon S3 S3-Ereignisbenachrichtigungen einrichten

Führen Sie die folgenden Einrichtungsaufgaben aus. Beachten Sie, dass die Werte in Klammern auf die konfigurierbaren Einstellungen aus dem Skript verweisen.

  1. Sie müssen Ereignisbenachrichtigungen für Ihren Amazon S3 S3-Bucket einrichten.

    Weitere Informationen finden Sie unter Amazon S3 S3-Ereignisbenachrichtigungen.

  2. Um den ereignisbasierten Amazon S3 S3-Crawler zu verwenden, sollten Sie die Ereignisbenachrichtigung im Amazon S3 S3-Bucket aktivieren, wobei Ereignisse aus dem Präfix gefiltert werden, das dem S3-Ziel entspricht und in SQS gespeichert ist. Sie können eine Ereignisbenachrichtigung über die Konsole einrichtenSQS, indem Sie die Schritte unter Exemplarische Vorgehensweise: Konfiguration eines Buckets für Benachrichtigungen befolgen.

  3. Fügen Sie der vom Crawler verwendeten Rolle die folgende SQS Richtlinie hinzu.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "sqs:DeleteMessage", "sqs:GetQueueUrl", "sqs:ListDeadLetterSourceQueues", "sqs:ReceiveMessage", "sqs:GetQueueAttributes", "sqs:ListQueueTags", "sqs:SetQueueAttributes", "sqs:PurgeQueue" ], "Resource": "arn:aws:sqs:{region}:{accountID}:cfn-sqs-queue" } ] }