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
-
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. -
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) vonorcl
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
oderdatabase-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 keinenschema-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 inMyDatabase
im Data Catalog angelegt. Wenn Sie beim Zugriff auf Amazon Redshift einen Include-Pfad vonMyDatabase/%
angeben, werden alle Tabellen innerhalb aller Schemas für die DatenbankMyDatabase
im Data Catalog angelegt. Wenn Sie einen Include-Pfad vonMyDatabase/MySchema/%
angeben, werden alle Tabellen in der DatenbankMyDatabase
sowie im SchemaMySchema
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
endenfoo.?
Entspricht Objektnamen, die mit foo.
beginnen und von einer Erweiterung aus einem Zeichen gefolgt werdenmyfolder/*
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 untermyfolder
, 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
undMarket_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]
entsprichta
,b
oderc
. Der Bindestrich (-
) kann verwendet werden, um einen Bereich anzugeben. So gibt[a-z]
einen Bereich vona
bisz
(einschließlich) an. Diese Formen können auch kombiniert werden, sodass [abce-g
] füra
b
,c
,e
,f
oderg
steht. Wenn das Zeichen nach der eckigen Klammer ([
) ein Ausrufezeichen (!
) ist, wird der Ausdruck negiert. Zum Beispiel entspricht[!a-c]
jedem Zeichen außera
,b
oderc
.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 Ordneremployees
und dessen Dateien ein.departments/market*
Schließt market-us.json
,market-emea.json
undmarket-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.
Alle Unterordner crawlen: Crawlen Sie alle Ordner bei jedem weiteren Crawl erneut.
Nur neue Unterordner crawlen: Nur Amazon-S3-Ordner, die seit dem letzten Crawling hinzugefügt wurden, werden gecrawlt. Wenn die Schemas kompatibel sind, werden den vorhandenen Tabellen neue Partitionen hinzugefügt. Weitere Informationen finden Sie unter Inkrementelle Crawls zum Hinzufügen neuer Partitionen.
Crawlen basierend auf Ereignissen: Verlassen Sie sich auf Amazon-S3-Ereignisse, um zu steuern, welche Ordner gecrawlt werden sollen. Weitere Informationen finden Sie unter Beschleunigung von Crawls mithilfe von Amazon S3-Ereignisbenachrichtigungen.
- 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.