Konfiguration eines Crawlers - 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.

Konfiguration eines Crawlers

Ein Crawler greift auf Ihren Datenspeicher zu, extrahiert Metadaten und erstellt Tabellendefinitionen im AWS Glue Data Catalog. Im Bereich Crawler in der AWS Glue Konsole sind alle Crawler aufgeführt, die Sie erstellen. In der Liste werden Status und Metriken aus der letzten Ausführung Ihres Crawlers angezeigt.

Anmerkung

Wenn Sie sich dafür entscheiden, Ihre eigenen JDBC-Treiberversionen einzubinden, verbrauchen AWS Glue-Crawler Ressourcen in AWS Glue-Aufträgen und Amazon-S3-Buckets, um sicherzustellen, dass Ihre bereitgestellten Treiber in Ihrer Umgebung ausgeführt werden. Der zusätzliche Ressourcenverbrauch wird in Ihrem Konto angezeigt. Darüber hinaus bedeutet das Bereitstellen eines eigenen JDBC-Treibers nicht, dass der Crawler in der Lage ist, alle Features des Treibers zu nutzen. Treiber sind auf die unter Hinzufügen einer AWS Glue-Verbindung beschriebenen Eigenschaften beschränkt.

Um einen Crawler zu konfigurieren
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/. Wählen Sie im Navigationsbereich Crawlers aus.

  2. Wählen Sie Crawler erstellen aus und befolgen Sie die Anweisungen im Assistenten zum Hinzufügen eines Crawlers. Der Assistent führt Sie durch die Schritte, die zum Erstellen eines Crawlers erforderlich sind. Wenn Sie benutzerdefinierte Klassifikatoren hinzufügen möchten, um das Schema zu definieren, finden Sie weitere Informationen unter. Hinzufügen von Classifiern zu einem Crawler in AWS Glue

Schritt 1: Festlegen der Crawler-Eigenschaften

Geben Sie einen Namen für Ihren Crawler und eine Beschreibung ein (optional). Sie können Ihren Crawler mit einem Tag-Schlüssel und einem optionalen Tag-Wert markieren. Nach der Erstellung sind Tag-Schlüssel schreibgeschützt. Verwenden Sie Tags für manche Ressourcen, damit sie leichter zu organisieren und identifizieren sind. Weitere Informationen finden Sie unter AWS Tags unter. AWS Glue

Name

Der Name darf Buchstaben (A–Z), Zahlen (0–9), Bindestriche (-) oder Unterstriche (_) enthalten und bis zu 255 Zeichen lang sein.

Beschreibung

Die Beschreibung kann bis zu 2048 Zeichen lang sein.

Tags

Verwenden Sie Tags zum Organisieren und Identifizieren Ihrer Ressourcen. Weitere Informationen finden Sie hier:

Schritt 2: Auswahl von Datenquellen und Classifier

Konfiguration der Datenquelle

Wählen Sie die entsprechende Option für Sind Ihre Daten bereits AWS Glue Tabellen zugeordnet? wählen Sie „Noch nicht“ oder „Ja“. Standardmäßig ist „Noch nicht“ ausgewählt.

Der Crawler kann als Quelle des Crawls direkt auf Datenspeicher zugreifen oder vorhandene Tabellen im Data Catalog als Quelle verwenden. Wenn der Crawler vorhandene Katalogtabellen verwendet, durchsucht er die Datenspeicher, die durch diese Katalogtabellen angegeben werden.

  • Noch nicht: Wählen Sie eine oder mehrere Datenquellen aus, die gecrawlt werden sollen. Ein Crawler kann mehrere Datenspeicher verschiedener Arten (Amazon S3, JDBC etc.) durchsuchen.

    Sie können jeweils nur einen Datenspeicher konfigurieren. Nachdem Sie die Verbindungsinformationen angegeben und Pfade und Ausschlussmuster eingeschlossen haben, haben Sie die Möglichkeit, einen weiteren Datenspeicher hinzuzufügen.

  • Ja: Wählen Sie vorhandene Tabellen aus Ihrem AWS Glue Data Catalog aus. Die Katalogtabellen geben die Datenspeicher an, die durchsucht werden sollen. Der Crawler kann in einem einzigen Lauf nur Katalogtabellen durchsuchen. Er kann keine anderen Quelltypen untermischen.

    Ein häufiger Grund zur Angabe einer Katalogtabelle als Quelle besteht darin, dass Sie die Tabelle manuell erstellt haben (da Sie die Struktur des Datenspeichers bereits kannten) und Sie möchten, dass ein Crawler die Tabelle auf dem aktuellen Stand hält, wozu das Hinzufügen neuer Partitionen gehört. Weitere Informationen zu anderen Gründen finden Sie unter Aktualisieren von manuell erstellten Data-Catalog-Tabellen mit Crawlern.

    Wenn Sie als Crawler-Quelltyp vorhandene Tabellen angeben, gelten die folgenden Bedingungen:

    • Der Datenbankname ist optional.

    • Nur Katalogtabellen, die Amazon-S3- oder Amazon-DynamoDB-Datenspeicher angeben, sind zulässig.

    • Es werden keine neuen Katalogtabellen erstellt, wenn der Crawler ausgeführt wird. Vorhandene Tabellen werden bei Bedarf aktualisiert. Dazu gehört auch das Hinzufügen neuer Partitionen.

    • In den Datenspeichern gefundene gelöschte Objekte werden ignoriert; es werden keine Katalogtabellen gelöscht. Stattdessen schreibt der Crawler eine Protokollmeldung. (SchemaChangePolicy.DeleteBehavior=LOG)

    • Die Crawler-Konfigurationsoption zum Erstellen eines einzigen Schemas für jeden Amazon-S3-Pfad ist standardmäßig aktiviert und kann nicht deaktiviert werden. (TableGroupingPolicy=CombineCompatibleSchemas) Weitere Informationen finden Sie unter Ein einzelnes Schema für jeden Amazon-S3-Include-Pfad erstellen.

    • Sie können Katalogtabellen als Quelle nicht mit anderen Arten von Quellen (z. B. Amazon S3 oder Amazon DynamoDB) mischen.

Datenquellen

Wählen Sie die Liste der Datenquellen aus, die vom Crawler gescannt werden sollen, oder fügen Sie diese hinzu.

(Optional) Wenn Sie JDBC als Datenquelle wählen, können Sie Ihre eigenen JDBC-Treiber verwenden, wenn Sie den Verbindungszugriff angeben, in dem die Treiberinformationen gespeichert werden.

Pfad einschließen

Wenn es darum geht, zu beurteilen, was bei einem Crawl ein- bzw. ausgeschlossen werden soll, beginnt der Crawler mit der Bewertung des erforderlichen Include-Pfads. Für Amazon S3, MongoDB, MongoDB Atlas, Amazon DocumentDB (mit MongoDB-Kompatibilität) und relationale Datenspeicher müssen Sie einen Include-Pfad angeben.

Für einen Amazon-S3-Datenspeicher

Wählen Sie aus, ob Sie einen Pfad in diesem Konto oder in einem anderen Konto angeben möchten, und suchen Sie dann nach einem Amazon-S3-Pfad.

Für Amazon-S3-Datenspeicher ist die Include-Pfad-Syntax bucket-name/folder-name/file-name.ext. Um alle Objekte in einem Bucket zu durchsuchen, geben Sie nur den Bucket-Namen im Include-Pfad an. Ein Exclude-Muster bezieht sich auf den Include-Pfad.

Für einen Delta Lake-Datenspeicher

Geben Sie einen oder mehrere Amazon S3-Pfade zu Delta-Tabellen als s3://Bucket/Präfix/Objekt an.

Für einen Iceberg- oder Hudi-Datenspeicher

Geben Sie einen oder mehrere Amazon-S3-Pfade, die Ordner mit Iceberg- oder Hudi-Tabellenmetadaten enthalten, als s3://bucket/prefix an.

Bei einem Hudi-Datenspeicher kann sich der Hudi-Ordner in einem untergeordneten Ordner des Stammordners befinden. Der Crawler durchsucht alle Ordner unterhalb eines Pfades nach einem Hudi-Ordner.

Für einen JDBC-Datenspeicher

Geben Sie <database>/<schema>/<table> oder <database>/<table> ein, je nach Datenbankprodukt. Oracle Database und MySQL unterstützen kein Schema im Pfad. Sie können das Prozentzeichen (%) durch <schema> oder <table> ersetzen. Geben Sie beispielsweise für eine Oracle-Datenbank mit einer Systemkennung (SID) von orcl orcl/% ein, um alle Tabellen zu importieren, auf die der in der Verbindung benannte Benutzer Zugriff hat.

Wichtig

Bitte beachten Sie die Groß- und Kleinschreibung.

Für einen MongoDB-, MongoDB-Atlas- oder Amazon-DocumentDB-Datenspeicher

Geben Sie Datenbank/Sammlung ein.

Für MongoDB, MongoDB Atlas und Amazon DocumentDB (mit MongoDB-Kompatibilität) ist die Syntax database/collection.

Bei JDBC-Datenspeichern lautet die Syntax entweder database-name/schema-name/table-name oder database-name/table-name. Die Syntax hängt davon ab, ob die Datenbank-Engine Schemas innerhalb einer Datenbank unterstützt. Bei Datenbank-Engines wie MySQL oder Oracle geben Sie beispielsweise keinen schema-name im Include-Pfad an. Sie können das Prozentzeichen (%) für ein Schema oder eine Tabelle im Include-Pfad ersetzen, um alle Schemas oder alle Tabellen einer Datenbank darzustellen. Sie können das Prozentzeichen (%) für die Datenbank im Include-Pfad nicht ersetzen.

Maximale Transversaltiefe (nur für Iceberg- oder Hudi-Datenspeicher)

Definiert die maximale Tiefe des Amazon-S3-Pfads, die der Crawler durchqueren kann, um den Iceberg- oder Hudi-Metadatenordner in Ihrem Amazon-S3-Pfad zu erkennen. Der Zweck dieses Parameters besteht darin, die Crawler-Laufzeit zu begrenzen. Der Standardwert beträgt 10 und der Höchstwert beträgt 20.

Exclude-Muster

Diese ermöglichen es Ihnen, bestimmte Dateien oder Tabellen aus dem Crawl auszuschließen. Der Exclude-Pfad bezieht sich auf den Include-Pfad. Um beispielsweise eine Tabelle in Ihrem JDBC-Datenspeicher auszuschließen, geben Sie den Tabellennamen in den Exclude-Pfad ein.

Ein Crawler stellt über eine AWS Glue-Verbindung, die eine JDBC URI-Verbindungszeichenfolge enthält, eine Verbindung zu einem JDBC-Datenspeicher her. Der Crawler hat nur über den JDBC-Benutzernamen und das dazugehörige Passwort in der AWS Glue-Verbindung Zugriff auf Objekte in der Datenbank-Engine. Der Crawler kann nur Tabellen erstellen, auf die er über die JDBC-Verbindung zugreifen kann. Nachdem der Crawler auf die Datenbank-Engine mit dem JDBC-URI zugegriffen hat, wird der Include-Pfad verwendet, um festzulegen, welche Tabellen der Datenbank-Engine im Data Catalog erstellt werden. Wenn Sie beispielsweise bei MySQL einen Include-Pfad von MyDatabase/% angeben, werden alle Tabellen in MyDatabase im Data Catalog angelegt. Wenn Sie beim Zugriff auf Amazon Redshift einen Include-Pfad von MyDatabase/% angeben, werden alle Tabellen innerhalb aller Schemas für die Datenbank MyDatabase im Data Catalog angelegt. Wenn Sie einen Include-Pfad von MyDatabase/MySchema/% angeben, werden alle Tabellen in der Datenbank MyDatabase sowie im Schema MySchema erstellt.

Nachdem Sie einen Include-Pfad angegeben haben, können Sie Objekte aus dem Crawl-Vorgang ausschließen, die Ihr Include-Pfad andernfalls einschließen würde, indem Sie ein oder mehrere glob-Exclude-Muster im Unix-Stil angeben. Diese Muster werden auf Ihren Include-Pfad angewandt, um zu ermitteln, welche Objekte ausgeschlossen werden. Diese Muster werden auch als Eigenschaft von Tabellen gespeichert, die vom Crawler erstellt wurden. AWS Glue PySpark Erweiterungen, wie z. B. das Lesen der Tabelleneigenschaften und das Ausschließen von Objektencreate_dynamic_frame.from_catalog, die durch das Ausschlussmuster definiert sind.

AWS Glue unterstützt die folgenden Arten von glob-Mustern im Exclude-Muster.

Exclude-Muster Beschreibung
*.csv Entspricht einem Amazon-S3-Pfad, der einen Objektnamen im aktuellen Ordner darstellt, der mit .csv endet
*.* Entspricht allen Objektnamen, die einen Punkt enthalten
*.{csv,avro} Entspricht Objektnamen, die mit .csv oder .avro enden
foo.? Entspricht Objektnamen, die mit foo. beginnen und von einer Erweiterung aus einem Zeichen gefolgt werden
myfolder/* Entspricht den Objekten in einer Ebene des Unterordners von myfolder, z. B. /myfolder/mysource
myfolder/*/* Entspricht den Objekten in zwei Ebenen von Unterordnern von myfolder, z. B. /myfolder/mysource/data
myfolder/** Entspricht den Objekten in allen Unterordnern von myfolder, z. B. /myfolder/mysource/mydata und /myfolder/mysource/data
myfolder** Entspricht dem Unterordner myfolder und Dateien unter myfolder, wie z. B. /myfolder und /myfolder/mydata.txt
Market* Entspricht Tabellen in einer JDBC-Datenbank mit Namen, die mit Market beginnen, z. B. Market_us und Market_fr

AWS Glue interpretiert glob-Exclude-Muster wie folgt:

  • Der Schrägstrich (/) ist das Begrenzungszeichen zum Trennen von Amazon-S3-Schlüsseln in einer Ordnerhierarchie.

  • Das Sternchen (*) entspricht einem oder mehreren Zeichen einer Namenskomponente ohne Überschreiten der Ordnergrenzen.

  • Ein doppeltes Sternchen (**) entspricht keinem oder mehreren Zeichen bei Überschreiten von Ordner- oder Schemagrenzen.

  • Das Fragezeichen (?) entspricht genau einem Zeichen einer Namenskomponente.

  • Der Backslash (\) wird verwendet, um Zeichen zu maskieren, die andernfalls als Sonderzeichen interpretiert werden könnten. Der Ausdruck \\ entspricht einem einzelnen Backslash und \{ entspricht einer linken geschweiften Klammer.

  • Eckige Klammern [ ] erstellen einen Ausdruck in eckigen Klammern, der für ein einzelnes Zeichen einer Namenskomponente aus einer Reihe von Zeichen steht. Beispiel: [abc] entspricht a, b oder c. Der Bindestrich (-) kann verwendet werden, um einen Bereich anzugeben. So gibt [a-z] einen Bereich von a bis z (einschließlich) an. Diese Formen können auch kombiniert werden, sodass [abce-g] für ab, c, e, f oder g steht. Wenn das Zeichen nach der eckigen Klammer ([) ein Ausrufezeichen (!) ist, wird der Ausdruck negiert. Zum Beispiel entspricht [!a-c] jedem Zeichen außer a, b oder c.

    Innerhalb eines Ausdrucks in eckigen Klammern stehen die Zeichen *, ? und \ für sich selbst. Der Bindestrich (-) steht für sich selbst, wenn er das erste Zeichen innerhalb der Klammern ist oder wenn er das erste Zeichen nach dem ! ist, wenn Sie negieren.

  • Geschweifte Klammern ({ }) umschließen eine Gruppe von Untermustern, wobei die Gruppe übereinstimmt, wenn ein Untermuster in der Gruppe übereinstimmt. Ein Komma (,) wird verwendet, um Untermuster voneinander zu trennen. Gruppen können nicht verschachtelt werden.

  • Führende Punktzeichen in Dateinamen werden als normale Zeichen bei Abgleichsoperationen behandelt. Beispielsweise stimmt das *-Exclude-Muster mit dem Dateinamen .hidden überein.

Beispiel Exclude-Muster in Amazon S3

Jedes Exclude-Muster wird mit dem Include-Pfad abgeglichen. Angenommen, Sie haben die folgende Amazon-S3-Verzeichnisstruktur:

/mybucket/myfolder/ departments/ finance.json market-us.json market-emea.json market-ap.json employees/ hr.json john.csv jane.csv juan.txt

Beim Include-Pfad s3://mybucket/myfolder/ sind folgende Ergebnisse Beispiele für Exclude-Muster:

Exclude-Muster Ergebnisse
departments/** Schließt alle Dateien und Ordner unterhalb von departments aus und schließt den Ordner employees und dessen Dateien ein.
departments/market* Schließt market-us.json, market-emea.json und market-ap.json aus.
**.csv Schließt alle Objekte unterhalb von myfolder aus, deren Namen mit .csv endet.
employees/*.csv Schließt alle .csv-Dateien im Ordneremployees aus.
Beispiel Ausschließen einer Teilmenge von Amazon-S3-Partitionen

Angenommen, Ihre Daten werden nach Tagen partitioniert, sodass sich jeder Tag eines Jahres in einer separaten Amazon-S3-Partition befindet. Im Januar 2015 gibt es 31 Partitionen. Um nun die Daten nur für die erste Januarwoche zu durchsuchen, müssen Sie alle Partitionen mit Ausnahme von Tag 1 bis 7 ausschließen:

2015/01/{[!0],0[8-9]}**, 2015/0[2-9]/**, 2015/1[0-2]/**

Schauen Sie sich die einzelnen Bestandteile dieses "glob"-Musters an. Der erste Teil, 2015/01/{[!0],0[8-9]}**, schließt alle Tage aus, die nicht mit einer "0" beginnen, sowie Tag 08 und Tag 09 von Monat 01 des Jahres 2015. Beachten Sie, dass "**" als Suffix des Tagesnummernmusters verwendet wird und Ordnergrenzen bis zu Ordnern auf unterer Ebene überschreitet. Bei Verwendung von "*" werden untere Ordnerebenen nicht ausgeschlossen.

Der zweite Teil, 2015/0[2-9]/**, schließt die Tage in den Monaten 02 bis 09 im Jahr 2015 aus.

Der dritte Teil, 2015/1[0-2]/**, schließt die Tage in den Monaten 10, 11 und 12 im Jahr 2015 aus.

Beispiel JDBC-Exclude-Muster

Angenommen, Sie führen ein Crawling für eine JDBC-Datenbank mit der folgenden Schemastruktur durch:

MyDatabase/MySchema/ HR_us HR_fr Employees_Table Finance Market_US_Table Market_EMEA_Table Market_AP_Table

Beim Include-Pfad MyDatabase/MySchema/% sind folgende Ergebnisse Beispiele für Exclude-Muster:

Exclude-Muster Ergebnisse
HR* Schließt Tabellen mit Namen aus, die mit HR beginnen.
Market_* Schließt Tabellen mit Namen aus, die mit Market_ beginnen.
**_Table Schließt alle Tabellen mit Namen aus, die mit _Table enden.
Zusätzliche Crawler-Quellparameter

Jeder Quelltyp benötigt einen anderen Satz zusätzlicher Parameter. Das Folgende ist eine unvollständige Liste:

Verbindung

Wählen Sie eine AWS Glue-Verbindung aus oder fügen Sie sie hinzu. Weitere Informationen zu Verbindungen finden Sie unter Herstellen einer Verbindung zu Daten.

Zusätzliche Metadaten – optional (für JDBC-Datenspeicher)

Wählen Sie zusätzliche Metadateneigenschaften aus, die der Crawler crawlen soll.

  • Kommentare: Crawlen Sie zugehörige Kommentare auf Tabellen- und Spaltenebene.

  • Rohdatentypen: Behalten Sie die Rohdatentypen der Tabellenspalten in zusätzlichen Metadaten bei. Als Standardverhalten übersetzt der Crawler die Rohdatentypen in Hive-kompatible Typen.

Klassenname des JDBC-Treibers – optional (für JDBC-Datenspeicher)

Geben Sie einen benutzerdefinierten JDBC-Treiberklassennamen für den Crawler ein, um eine Verbindung zur Datenquelle herzustellen:

  • Postgres: org.postgresql.Driver

  • MySQL: com.mysql.jdbc.Driver, com.mysql.cj.jdbc.Driver

  • Redshift: com.amazon.redshift.jdbc.Driver, com.amazon.redshift.jdbc42.Driver

  • Oracle: oracle.jdbc.driver. OracleDriver

  • SQL-Server: com.microsoft.sqlserver.jdbc.SQL ServerDriver

S3-Pfad des JDBC-Treibers – optional (für JDBC-Datenspeicher)

Wählen Sie einen vorhandenen Amazon-S3-Pfad zu einer .jar-Datei. Hier wird die .jar-Datei gespeichert, wenn ein benutzerdefinierter JDBC-Treiber verwendet wird, damit der Crawler eine Verbindung zur Datenquelle herstellt.

Aktivieren Sie Datenabfrage (nur für Amazon-DynamoDB-, MongoDB-, MongoDB-Atlas- und Amazon-DocumentDB-Datenspeicher)

Wählen Sie aus, ob nur eine beispielhafte Datenabfrage durchsucht werden soll. Wenn diese Option nicht ausgewählt ist, wird die gesamte Tabelle durchsucht. Das Scannen aller Datensätze kann eine lange Zeit in Anspruch nehmen, wenn die Tabelle keinen hohen Durchsatz hat.

Erstellen von Tabellen für Abfragen (nur für Delta-Lake-Datenspeicher)

Wählen Sie aus, wie Sie die Delta-Lake-Tabellen erstellen möchten:

  • Erstellen nativer Tabellen: Ermöglicht die Integration mit Abfragemodulen, die die direkte Abfrage des Delta-Transaktionsprotokolls unterstützen.

  • Erstellen von Symlink-Tabellen: Erstellen Sie basierend auf den angegebenen Konfigurationsparametern einen Symlink-Manifest-Ordner mit Manifest-Dateien, die durch die Partitionsschlüssel partitioniert sind.

Scanrate – optional (nur für DynamoDB-Datenspeicher)

Geben Sie den Prozentsatz der Lesekapazitätseinheiten der DynamoDB-Tabelle an, die vom Crawler verwendet werden sollen. Lesekapazitätseinheiten sind ein von DynamoDB definierter Begriff und ein numerischer Wert, der als Ratenbegrenzer für die Anzahl der Lesevorgänge fungiert, die pro Sekunde für diese Tabelle durchgeführt werden können. Geben Sie einen Wert zwischen 0,1 und 1,5 ein. Wenn nichts angegeben wird, beträgt der Standardwert 0,5% bei bereitgestellte Tabellen und 1/4 der maximal konfigurierten Kapazität bei On-Demand-Tabellen. Beachten Sie, dass für Crawler nur der Modus „Bereitgestellte Kapazität“ verwendet werden sollte. AWS Glue

Anmerkung

Legen Sie für DynamoDB-Datenspeicher den bereitgestellten Kapazitätsmodus für die Verarbeitung von Lese- und Schreibvorgängen für Ihre Tabellen fest. Der AWS Glue Crawler sollte nicht im On-Demand-Kapazitätsmodus verwendet werden.

Netzwerkverbindung – optional (nur für Amazon-S3-Datenspeicher)

Fügen Sie optional eine Netzwerkverbindung hinzu, die mit diesem Amazon-S3-Ziel verwendet werden soll. Beachten Sie, dass jeder Crawler auf eine Netzwerkverbindung beschränkt ist, sodass alle anderen Amazon-S3-Ziele ebenfalls dieselbe Verbindung verwenden (oder keine, falls leer gelassen).

Weitere Informationen zu Verbindungen finden Sie unter Herstellen einer Verbindung zu Daten.

Nur für eine Untergruppe von Dateien und Stichprobengröße (nur für Amazon-S3-Datenspeicher)

Geben Sie die Anzahl der Dateien in jedem Ordner an, die beim Crawling von Beispieldateien in einem Datensatz durchsucht werden sollen. Wenn dieses Feature aktiviert ist, wählt der Crawler statt alle Dateien in diesem Datensatz nach dem Zufallsprinzip einige Dateien in jedem Ordner aus, bei denen ein Crawling durchgeführt werden muss.

Der Sampling-Crawler eignet sich am besten für Kunden, die bereits über Kenntnisse ihrer Datenformate verfügen und wissen, dass sich Schemas in ihren Ordnern nicht ändern. Wenn Sie dieses Feature aktivieren, wird die Crawler-Laufzeit erheblich reduziert.

Ein gültiger Wert ist eine ganze Zahl zwischen 1 und 249. Wenn nicht angegeben, werden alle Dateien durchsucht.

Nachfolgende Crawler-Ausführungen

Dieses Feld ist ein globales Feld, das sich auf alle Amazon-S3-Datenquellen auswirkt.

Benutzerdefinierte Classifier – optional

Definieren Sie benutzerdefinierte Classifier, bevor Sie Crawler definieren. Ein Classifier prüft, ob eine bestimmte Datei in einem Format vorliegt, das der Crawler verarbeiten kann. Wenn dies der Fall ist, erstellt der Classifier ein Schema in Form eines StructType-Objekts, das dem Datenformat entspricht.

Weitere Informationen finden Sie unter Hinzufügen von Classifiern zu einem Crawler in AWS Glue.

Schritt 3: Konfigurieren der Sicherheitseinstellungen

IAM-Rolle

Der Crawler übernimmt diese Rolle. Er muss über ähnliche Berechtigungen wie die AWS verwaltete Richtlinie AWSGlueServiceRole verfügen. Für Amazon-S3- und DynamoDB-Quellen muss er auch über Berechtigungen für den Zugriff auf den Datenspeicher verfügen. Wenn der Crawler mit AWS Key Management Service (AWS KMS) verschlüsselte Amazon S3 S3-Daten liest, muss die Rolle über Entschlüsselungsberechtigungen für den AWS KMS Schlüssel verfügen.

Für einen Amazon-S3-Datenspeicher wären zusätzliche Berechtigungen, die der Rolle zugeordnet sind, ähnlich wie die folgenden:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket/object*" ] } ] }

Für einen Amazon-DynamoDB-Datenspeicher wären zusätzliche Berechtigungen, die der Rolle zugeordnet sind, ähnlich wie die folgenden:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:Scan" ], "Resource": [ "arn:aws:dynamodb:region:account-id:table/table-name*" ] } ] }

Um Ihren eigenen JDBC-Treiber hinzuzufügen, müssen zusätzliche Berechtigungen hinzugefügt werden.

  • Gewähren Sie Berechtigungen für die folgenden Auftragsaktionen: CreateJob, DeleteJob, GetJob, GetJobRun, StartJobRun.

  • Gewähren Sie Berechtigungen für alle Amazon-S3-Aktionen: s3:DeleteObjects, s3:GetObject, s3:ListBucket, s3:PutObject.

    Anmerkung

    Der s3:ListBucket ist nicht erforderlich, wenn die Amazon-S3-Bucket-Richtlinie deaktiviert ist.

  • Gewähren Sie dem Service-Prinzipal Zugriff auf den Bucket/Ordner in der Amazon-S3-Richtlinie.

Beispiel einer Amazon-S3-Richtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::bucket-name/driver-parent-folder/driver.jar", "arn:aws:s3:::bucket-name" ] } ] }

AWS Glue erstellt die folgenden Ordner (_crawler und _glue_job_crawler auf derselben Ebene wie der JDBC-Treiber in Ihrem Amazon-S3-Bucket. Wenn der Treiberpfad beispielsweise <s3-path/driver_folder/driver.jar> lautet, werden die folgenden Ordner erstellt, sofern sie noch nicht vorhanden sind:

  • <s3-path/driver_folder/_crawler>

  • <s3-path/driver_folder/_glue_job_crawler>

Optional können Sie einem Crawler eine Sicherheitskonfiguration hinzufügen, um Verschlüsselungsoptionen im Ruhezustand festzulegen.

Weitere Informationen finden Sie unter Schritt 2: Erstellen einer IAM-Rolle für AWS Glue und Identitäts- und Zugriffsmanagement für AWS Glue.

Lake-Formation-Konfiguration – optional

Erlauben Sie dem Crawler, Lake-Formation-Anmeldeinformationen für das Crawling der Datenquelle zu verwenden.

Wenn Sie Use Lake Formation credentials for crawling S3 data source (Lake-Formation-Anmeldeinformationen für das Crawling der S3-Datenquelle verwenden) aktivieren, kann der Crawler Lake-Formation-Anmeldeinformationen für das Crawling der Datenquelle verwenden. Wenn die Datenquelle zu einem anderen Konto gehört, müssen Sie die registrierte Konto-ID angeben. Andernfalls crawlt der Crawler nur die Datenquellen, die dem Konto zugeordnet sind. Gilt nur für Amazon-S3- und Data-Catalog-Datenquellen.

Sicherheitskonfiguration – optional

Die Einstellungen enthalten Sicherheitskonfigurationen. Weitere Informationen finden Sie hier:

Anmerkung

Sobald eine Sicherheitskonfiguration für einen Crawler eingerichtet wurde, können Sie sie ändern, aber Sie können sie nicht entfernen. Um die Sicherheitsstufe eines Crawlers zu verringern, legen Sie die Sicherheitsfunktion explizit DISABLED in Ihrer Konfiguration fest oder erstellen Sie einen neuen Crawler.

Schritt 4: Festlegen von Ausgabe und Zeitplanung

Konfiguration der Ausgabe

Zu den Optionen gehören, wie der Crawler u. a. erkannte Schemaänderungen und gelöschte Objekte im Datenspeicher verarbeiten sollte. Weitere Informationen finden Sie unter Crawler-Verhalten anpassen.

Crawler-Zeitplan

Sie können einen Crawler bei Bedarf ausführen oder einen zeitbasierten Zeitplan für Ihre Crawler und Aufträge in AWS Glue definieren. Die Definition dieser Zeitpläne verwendet die Unix-ähnliche Cron-Syntax. Weitere Informationen finden Sie unter Planen eines AWS Glue-Crawlers.

Schritt 5: Überprüfen und Erstellen

Überprüfen Sie die von Ihnen konfigurierten Crawler-Einstellungen und erstellen Sie den Crawler.