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.
Ein Classifier liest die Daten in einem Datenspeicher. Wenn er das Format der Daten erkennt, erzeugt er ein Schema. Der Classifier gibt auch eine Zahl für die Gewissheit zurück, um anzugeben, wie sicher die Formaterkennung war.
AWS Glue bietet eine Reihe integrierter Klassifikatoren, aber Sie können auch benutzerdefinierte Klassifikatoren erstellen. AWS Glue ruft zuerst benutzerdefinierte Klassifikatoren in der Reihenfolge auf, die Sie in Ihrer Crawler-Definition angegeben haben. Abhängig von den Ergebnissen, die von benutzerdefinierten Klassifikatoren zurückgegeben werden, AWS Glue kann auch integrierte Klassifikatoren aufrufen. Wenn ein Klassifikator certainty=1.0
während der Verarbeitung zurückkehrt, bedeutet dies, dass er zu 100 Prozent sicher ist, dass er das richtige Schema erstellen kann. AWS Glue verwendet dann die Ausgabe dieses Klassifikators.
Wenn kein Klassifikator zurückkehrt, certainty=1.0
AWS Glue verwendet die Ausgabe des Klassifikators mit der höchsten Sicherheit. Wenn kein Klassifikator eine Sicherheit zurückgibt, die größer ist als, 0.0
AWS Glue gibt die Standardklassifizierungszeichenfolge von zurück. UNKNOWN
Wann verwende ich einen Classifier?
Sie verwenden Classifier, wenn Sie einen Datenspeicher durchsuchen, um Metadatentabellen in AWS Glue Data Catalog zu definieren. Sie können Ihren Crawler mit einer geordneten Gruppe von Classifiern einrichten. Wenn der Crawler einen Classifier aufruft, bestimmt dieser, ob die Daten erkannt werden. Wenn der Classifier die Daten nicht erkennen kann oder nicht 100 %ig sicher ist, ruft der Crawler den nächsten Classifier in der Liste auf, um festzustellen ob dieser die Daten erkennen kann.
Weitere Informationen zum Erstellen eines Klassifikators mit dem AWS Glue Konsole finden Sie unterErstellen von Klassifikatoren mit dem AWS Glue Konsole.
Benutzerdefinierte Classifier
Die Ausgabe eines Classifiers enthält eine Zeichenfolge, die die Klassifizierung oder das Format der Datei (z. B. json
) sowie das Schema der Datei angibt. Bei einem benutzerdefinierten Classifier definieren Sie die Logik für die Erstellung des Schemas basierend auf dem Classifier-Typ. Classifier-Typen umfassen das Festlegen von Schemas basierend auf Grok-Mustern, XML-Tags und JSON-Pfaden.
Wenn Sie eine Classifier-Definition ändern, werden Daten, die zuvor mit dem Crawler durchsucht wurden, nicht neu klassifiziert. Ein Crawler führt eine Nachverfolgung zuvor durchsuchter Daten durch. Neue Daten werden mit dem aktualisierten Classifier klassifiziert. Dies kann ein aktualisiertes Schema zur Folge haben. Hat sich das Schema Ihrer Daten weiterentwickelt, aktualisieren Sie den Classifier, um allen Schemaänderungen Rechnung zu tragen, wenn Ihr Crawler ausgeführt wird. Zur Neuklassifizierung von Daten zur Korrektur eines fehlerhaften Classifiers erstellen Sie einen neuen Crawler mit dem aktualisierten Classifier.
Weitere Informationen zum Erstellen benutzerdefinierter Klassifikatoren finden Sie in AWS Glue, finden Sie unter Schreiben von benutzerdefinierten Klassifikatoren für verschiedene Datenformate.
Anmerkung
Wenn Ihr Datenformat von einem der integrierten Classifier erkannt wird, müssen Sie keinen benutzerdefinierten Classifier erstellen.
Integrierte Klassifikatoren
AWS Glue bietet integrierte Klassifikatoren für verschiedene Formate, darunter JSON, CSV, Webprotokolle und viele Datenbanksysteme.
Wenn AWS Glue findet keinen benutzerdefinierten Klassifikator, der mit hundertprozentiger Sicherheit zum Eingabedatenformat passt, ruft die integrierten Klassifikatoren in der in der folgenden Tabelle angegebenen Reihenfolge auf. Die integrierten Classifier geben ein Ergebnis zurück, um anzugeben, ob das Format übereinstimmt (certainty=1.0
) oder nicht übereinstimmt (certainty=0.0
). Der erste Classifier mit certainty=1.0
stellt die Klassifizierungszeichenfolge und das Schema für eine Metadatentabelle in Ihrem Data Catalog bereit.
Classifier-Typ | Klassifizierungszeichenfolge | Hinweise |
---|---|---|
Apache Avro | avro |
Liest das Schema am Anfang der Datei, um das Format zu bestimmen. |
Apache ORC | orc |
Liest die Metadaten der Datei zu Bestimmung des Formats. |
Apache Parquet | parquet |
Liest das Schema am Ende der Datei, um das Format zu bestimmen. |
JSON | json |
Liest den Anfang der Datei, um das Format zu bestimmen. |
Binäres JSON | bson |
Liest den Anfang der Datei, um das Format zu bestimmen. |
XML | xml |
Liest den Anfang der Datei, um das Format zu bestimmen. AWS Glue bestimmt das Tabellenschema auf der Grundlage von XML-Tags im Dokument. Weitere Informationen zum Erstellen eines benutzerdefinierten XML-Classifiers zur Angabe von Zeilen in dem Dokument finden Sie unter Angepasste XML-Classifier schreiben. |
Amazon Ion | ion |
Liest den Anfang der Datei, um das Format zu bestimmen. |
Kombiniertes Apache-Protokoll | combined_apache |
Legt Protokollformate über ein Grok-Muster fest. |
Apache-Protokoll | apache |
Legt Protokollformate über ein Grok-Muster fest. |
Linux-Kernel-Protokoll | linux_kernel |
Legt Protokollformate über ein Grok-Muster fest. |
Microsoft-Protokoll | microsoft_log |
Legt Protokollformate über ein Grok-Muster fest. |
Ruby-Protokoll | ruby_logger |
Liest den Anfang der Datei, um das Format zu bestimmen. |
Squid 3.x-Protokoll | squid |
Liest den Anfang der Datei, um das Format zu bestimmen. |
Redis-Überwachungsprotokoll | redismonlog |
Liest den Anfang der Datei, um das Format zu bestimmen. |
Redis-Protokoll | redislog |
Liest den Anfang der Datei, um das Format zu bestimmen. |
CSV | csv |
Prüft auf die folgenden Trennzeichen: Komma (,), Verkettungszeichen (|), Tabulator (\t), Semikolon (;) und Strg-A (\u0001). Strg-A ist das Unicode-Steuerzeichen für Start Of
Heading . |
Amazon Redshift | redshift |
Verwendet eine JDBC-Verbindung zum Importieren von Metadaten. |
MySQL | mysql |
Verwendet eine JDBC-Verbindung zum Importieren von Metadaten. |
PostgreSQL | postgresql |
Verwendet eine JDBC-Verbindung zum Importieren von Metadaten. |
Oracle-Datenbank | oracle |
Verwendet eine JDBC-Verbindung zum Importieren von Metadaten. |
Microsoft SQL Server | sqlserver |
Verwendet eine JDBC-Verbindung zum Importieren von Metadaten. |
Amazon-DynamoDB | dynamodb |
Liest Daten aus der DynamoDB-Tabelle. |
Dateien in den folgenden komprimierten Formaten können klassifiziert werden:
-
ZIP (unterstützt für Archive, die nur eine einzige Datei enthalten). Beachten Sie, dass Zip in anderen Services nicht gut unterstützt wird (wegen des Archivs).
-
BZIP
-
GZIP
-
LZ4
-
Snappy (unterstützt sowohl für Standard- und Hadoop-native Snappy-Formate)
Integrierter CSV-Classifier
Der integrierte CSV-Klassifikator analysiert den Inhalt der CSV-Datei, um das Schema für eine AWS Glue Tabelle. Dieser Classifier prüft auf folgende Trennzeichen:
Komma (,)
Pipe (|)
Tab (\t)
Semikolon (;)
Strg-A (\ u0001)
Strg-A ist das Unicode-Steuerzeichen für
Start Of Heading
.
Damit die Tabelle als CSV klassifiziert wird, muss das Tabellenschema mindestens zwei Spalten und zwei Datenzeilen aufweisen. Der CSV-Classifier nutzt eine Reihe von Heuristiken, um zu ermitteln, ob ein Header in einer bestimmten Datei vorhanden ist. Kann der Classifier keinen Header in der ersten Datenzeile feststellen, werden Spaltenüberschriften als col1
, col2
col3
und so weiter angezeigt. Der integrierte CSV-Classifier bestimmt, ob ein Header durch Auswertung der folgenden Merkmale der Datei abgeleitet wird:
Jede Spalte in einem potenziellen Header analysiert einen STRING-Datentyp.
Mit Ausnahme der letzten Spalte hat jede Spalte in einem potenziellen Header einen Inhalt mit weniger als 150 Zeichen. Damit ein abschließendes Trennzeichen möglich ist, kann die letzte Spalte in der gesamten Datei leer sein.
Jede Spalte in einer potenziellen Kopfzeile muss dem entsprechen AWS Glue
regex
Anforderungen für einen Spaltennamen.Die Kopfzeile muss sich ausreichend von den anderen Datenzeilen unterscheiden. Zu diesem Zweck muss mindestens eine Zeile nicht als STRING-Type analysiert werden. Wenn alle Spalten vom Typ STRING sind, unterscheidet sich die erste Datenzeile nicht ausreichend genug von den folgenden Zeilen, um als Header verwendet werden zu können.
Anmerkung
Wenn der integrierte CSV-Klassifikator Ihren nicht erstellt AWS Glue Wie Sie möchten, können Sie möglicherweise eine der folgenden Alternativen verwenden:
Ändern Sie die Spaltennamen im Data Catalog, setzen Sie
SchemaChangePolicy
auf LOG und legen Sie die Partitionsausgabekonfiguration für zukünftige Crawler-Ausführungen aufInheritFromTable
fest.Erstellen Sie einen benutzerdefinierten Grok-Classifier, um die Daten zu analysieren und die von Ihnen gewünschten Spalten zuzuweisen.
Der integrierte CSV-Classifier erstellt Tabellen, die auf
LazySimpleSerDe
als Serialisierungsbibliothek verweisen. Dies ist eine gute Möglichkeit für die Typinferenz. Wenn die CSV-Daten jedoch Zeichenketten in Anführungszeichen enthalten, bearbeiten Sie die Tabellendefinition und ändern Sie die SerDe Bibliothek inOpenCSVSerDe
. Passen Sie alle abgeleiteten Typen an STRING an, setzen SieSchemaChangePolicy
auf LOG und legen Sie die Partitionsausgabekonfiguration für zukünftige Crawler-Ausführungen aufInheritFromTable
fest. Weitere Informationen zu SerDe Bibliotheken finden Sie unter SerDe Referenz im Amazon Athena Athena-Benutzerhandbuch.