Verwenden Sie ein Formular in der Athena-Konsole, um eine AWS Glue-Tabelle hinzuzufügen
Das folgende Verfahren zeigt Ihnen, wie Sie die Athena-Konsole verwenden, um eine Tabelle mithilfe des Formulars Create Table From S3 bucket data (Erstellen einer Tabelle aus S3-Bucket-Daten) hinzuzufügen.
So fügen Sie eine Tabelle hinzu und geben Schemainformationen mithilfe eines Formulars ein
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. -
Wählen Sie im Abfrage-Editor neben Tables and views (Tabellen und Ansichten) Create (Erstellen) und danach S3 bucket data (S3-Bucket-Daten) aus.
-
Geben im Formular Create Table From S3 bucket data (Tabelle aus S3-Bucket-Daten erstellen) für Table name (Tabellenname) einen Namen für die Tabelle ein. Informationen über zulässige Zeichen für Datenbank-, Tabellen- und Spaltennamen in Athena finden Sie unter Namen für Datenbanken, Tabellen und Spalten.
-
Wählen Sie für Database configuration (Datenbankkonfiguration) eine vorhandene Datenbank aus oder erstellen Sie eine neue.
-
Geben Sie unter Location of Input Data Set (Speicherort des Eingabedatensatzes) den Pfad in Amazon S3 dem Ordner an, der den zu verarbeitende Datensatz enthält. Fügen Sie keinen Dateinamen in den Pfad ein. Athena scannt alle Dateien in dem von Ihnen angegebenen Ordner. Wenn Ihre Daten bereits partitioniert sind (z. B.
s3://amzn-s3-demo-bucket/logs/year=2004/month=12/day=11/), geben Sie nur den Basispfad ein (z. B. s3://amzn-s3-demo-bucket/logs/).
-
Wählen Sie für Data Format (Datenformat) eine der folgenden Optionen:
-
Wählen Sie als Table type (Tabellentyp) Apache Hive, Apache Iceberg oder Delta Lake aus. Athena verwendet den Tabellentyp Apache Hive als Standard. Informationen zum Abfragen von Apache-Iceberg-Tabellen in Athena finden Sie unter Apache-Iceberg-Tabellen abfragen. Informationen zur Verwendung von Delta-Lake-Tabellen in Athena finden Sie unter Delta-Lake-Tabellen von Linux Foundation abfragen.
-
Wählen Sie für File format (Dateiformat) das Datei- oder Protokollformat aus, in dem Ihre Daten vorliegen.
-
Geben Sie für die Option Textdatei mit benutzerdefinierten Trennzeichen einen Field terminator (Feldtrennzeichen) an (d. h. ein Spaltentrennzeichen). Optional können Sie ein Collection terminator (Sammlungsendzeichen) angeben, das das Ende eines Array-Typs markiert, oder ein Collection terminator (Sammlungsendzeichen), das das Ende eines Zuordnungsdatentyps markiert.
-
-
SerDe library (SerDe-Bibliothek) – Eine SerDe-Bibliothek (Serialisierer-Deserialisierer) analysiert ein bestimmtes Datenformat, sodass Athena eine Tabelle dafür erstellen kann. Für die meisten Formate wird eine Standard-SerDe-Bibliothek für Sie ausgewählt. Wählen Sie für die folgenden Formate eine Bibliothek entsprechend Ihren Anforderungen aus:
-
Apache Web Logs (Apache-Web-Protokolle) – Wählen Sie entweder die RegexSerDe- oder die GrokSerDe-Bibliothek. Geben Sie für RegexSerDe einen regulären Ausdruck im Feld Regex definition (Regex-Definition) an. Stellen Sie für GrokSerDe eine Reihe benannter regulärer Ausdrücke für die
input.format-SerDe-Eigenschaft bereit. Benannte reguläre Ausdrücke sind einfacher zu lesen und zu verwalten als reguläre Ausdrücke. Weitere Informationen finden Sie unter Apache-Protokollen in Amazon S3 abfragen. -
CSV – Wählen Sie LazySimpleSerDe aus, wenn Ihre durch Kommas getrennten Daten keine in doppelte Anführungszeichen eingeschlossenen Werte enthalten oder das
java.sql.Timestamp-Format verwenden. Wählen Sie OpenCSVSerDe aus, wenn Ihre Daten Anführungszeichen enthalten oder das numerische UNIX-Format fürTIMESTAMPverwenden (z. B.1564610311). Weitere Informationen finden Sie unter Lazy Simple SerDe für CSV- und TSV-Dateien sowie für benutzerdefinierte, durch Trennzeichen getrennte Dateien und Open CSVSer De für CSV-Verarbeitung. -
JSON – Wählen Sie entweder die OpenX- oder die Hive-JSON-SerDe-Bibliothek. Beide Formate erwarten, dass sich jedes JSON-Dokument in einer einzelnen Textzeile befindet und dass Felder nicht durch Zeilenumbruchzeichen getrennt werden. Der OpenX SerDe bietet einige zusätzliche Eigenschaften. Weitere Informationen zu diesen Eigenschaften finden Sie unter OpenX JSON SerDe. Weitere Informationen zum Hive SerDe finden Sie unter Hive JSON SerDe.
Weitere Informationen zur Verwendung von SerDe-Bibliotheken in Athena finden Sie unter Einen SerDe für Ihre Daten wählen.
-
-
-
Für SerDe properties (SerDe-Eigenschaften) können Sie Eigenschaften und Werte entsprechend der von Ihnen verwendeten SerDe-Bibliothek und Ihren Anforderungen hinzufügen, bearbeiten oder entfernen.
-
Um eine SerDe-Eigenschaft hinzuzufügen, wählen Sie Add SerDe property (SerDe-Eigenschaft hinzufügen).
-
Geben Sie im Feld Name den Namen der Eigenschaft ein.
-
Geben Sie im Feld Value (Wert) einen Wert für die Eigenschaft ein.
-
Um eine SerDe-Eigenschaft zu entfernen, wählen Sie Remove (Entfernen).
-
-
Wählen oder bearbeiten Sie für Table properties (Tabelleneigenschaften) die Tabelleneigenschaften entsprechend Ihren Anforderungen.
-
Wählen Sie für Write compression (Schreibkomprimierung) eine Komprimierungsoption aus. Die Verfügbarkeit der Option Schreibkomprimierung und der verfügbaren Komprimierungsoptionen hängt vom Datenformat ab. Weitere Informationen finden Sie unter Komprimierung in Athena verwenden.
-
Wählen Sie für Encryption (Verschlüsselung) die Option Encrypted data set (Verschlüsselter Datensatz) aus, wenn die zugrunde liegenden Daten in Amazon S3 verschlüsselt sind. Diese Option setzt die
has_encrypted_data-Tabelleneigenschaft in derCREATE TABLE-Anweisung auf wahr.
-
-
Geben Sie für Column details (Spaltendetails) die Namen und Datentypen der Spalten ein, die Sie der Tabelle hinzufügen möchten.
-
Um mehrere Spalten einzeln hinzuzufügen, wählen Sie Add a column (Spalte hinzufügen).
-
Um schnell weitere Spalten hinzuzufügen, wählen Sie Bulk add columns (Massenhinzufügung von Spalten). Geben Sie in das Textfeld eine durch Kommas getrennte Liste von Spalten im Format
column_namedata_type,column_namedata_type[, ...] ein, und wählen Sie dann Add (Hinzufügen).
-
-
(Optional) Fügen Sie für Partition details (Details zur Partition) einen oder mehrere Spaltennamen und Datentypen hinzu. Die Partitionierung hält verwandte Daten basierend auf Spaltenwerten zusammen und kann dazu beitragen, die Menge der pro Abfrage gescannten Daten zu reduzieren. Weitere Informationen zur Partitionierung finden Sie unter Ihre Daten partitionieren.
-
(Optional) Für das Bucketing können Sie eine oder mehrere Spalten angeben, die Zeilen enthalten, die Sie gruppieren möchten, und diese Zeilen dann in mehrere Buckets einfügen. Auf diese Weise können Sie nur den Bucket abfragen, den Sie lesen möchten, wenn der Bucket-Spaltenwert angegeben ist.
-
Wählen Sie für Buckets eine oder mehrere Spalten aus, die eine große Anzahl eindeutiger Werte enthalten (z. B. einen Primärschlüssel) und die häufig zum Filtern der Daten in Ihren Abfragen verwendet werden.
-
Geben Sie im Feld Number of buckets (Anzahl der Buckets) eine Zahl ein, die zulässt, dass Dateien die optimale Größe haben. Weitere Informationen finden Sie unter Top 10 Tipps zur Leistungsoptimierung für Amazon Athena
im AWS-Big-Data-Blog. -
Um Ihre Bucket-Spalten anzugeben, verwendet die
CREATE TABLE-Anweisung die folgende Syntax:CLUSTERED BY (bucketed_columns) INTOnumber_of_bucketsBUCKETS
Anmerkung
Die Bucketing-Option ist für die Iceberg-Tabellentypen nicht verfügbar.
-
-
Das Preview table query (Vorschau der Tabellenabfrage)-Feld zeigt die
CREATE TABLE-Anweisung, die durch die Informationen generiert wird, die Sie in das Formular eingegeben haben. Die Vorschauanweisung kann nicht direkt bearbeitet werden. Um die Anweisung zu ändern, ändern Sie die Formularfelder über der Vorschau oder erstellen Sie die Anweisung direkt im Abfrageeditor, anstatt das Formular zu verwenden. -
Wählen Sie Create table (Tabelle erstellen) aus, um die generierte Anweisung im Abfrage-Editor auszuführen und eine Tabelle zu erstellen.