Erstellen von Tabellen - 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.

Erstellen von Tabellen

Auch wenn das Ausführen eines Crawlers die empfohlene Methode ist, um die Daten in Ihren Datenspeichern zu inventarisieren, können Sie Metadatentabellen zur AWS Glue Data Catalog manuell. Dieser Ansatz ermöglicht es Ihnen, mehr Kontrolle über die Metadatendefinitionen zu haben und sie an Ihre spezifischen Anforderungen anzupassen.

Sie können dem Datenkatalog auf folgende Weise auch manuell Tabellen hinzufügen:

Wenn Sie eine Tabelle manuell mithilfe der Konsole oder einer definierenAPI, geben Sie das Tabellenschema und den Wert eines Klassifizierungsfeldes an, das den Typ und das Format der Daten in der Datenquelle angibt. Wenn ein Crawler die Tabelle erstellt, werden das Datenformat und das Schema entweder durch einen integrierten Classifier oder einen angepassten Classifier bestimmt. Weitere Informationen zum Erstellen einer Tabelle mit dem AWS Glue Konsole finden Sie unterTabellen mit der Konsole erstellen.

Tabellenpartitionen

Importieren in &S3; AWS Glue Die Tabellendefinition eines Amazon Simple Storage Service (Amazon S3) -Ordners kann eine partitionierte Tabelle beschreiben. Um die Abfrageleistung zu verbessern, kann eine partitionierte Tabelle beispielsweise monatliche Daten in verschiedene Dateien unter Verwendung des Monatsnamens als Schlüssel aufteilen. In AWS Glue, Tabellendefinitionen beinhalten den Partitionierungsschlüssel einer Tabelle. Wann AWS Glue wertet die Daten in Amazon S3 S3-Ordnern aus, um eine Tabelle zu katalogisieren. Es bestimmt, ob eine einzelne Tabelle oder eine partitionierte Tabelle hinzugefügt wird.

Sie können Partitionsindizes für eine Tabelle erstellen, um eine Teilmenge der Partitionen abzurufen, anstatt alle Partitionen in der Tabelle zu laden. Weitere Informationen zum Arbeiten mit Indizes finden Sie unter Partitionsindizes erstellen .

Alle folgenden Bedingungen müssen zutreffen für AWS Glue um eine partitionierte Tabelle für einen Amazon S3 S3-Ordner zu erstellen:

  • Die Schemas der Dateien sind ähnlich, bestimmt durch AWS Glue.

  • Das Datenformat der Dateien ist identisch.

  • Das Komprimierungsformat der Dateien ist identisch.

Sie könnten z. B. einen Amazon S3 Bucket namens my-app-bucket besitzen, in dem Sie sowohl iOS- als auch Android-App-Verkaufsdaten speichern. Die Daten werden nach Jahr, Monat und Tag partitioniert. Die Datendateien für iOS- und Android-Verkäufe haben das gleiche Schema, Datenformat und Komprimierungsformat. Im AWS Glue Data Catalog, der AWS Glue Der Crawler erstellt eine Tabellendefinition mit Partitionierungsschlüsseln für Jahr, Monat und Tag.

Die folgende Amazon-S3-Auflistung von my-app-bucket zeigt einige der Partitionen. Das =-Symbol dient zur Zuweisung von Partitionsschlüsselwerten.

my-app-bucket/Sales/year=2010/month=feb/day=1/iOS.csv my-app-bucket/Sales/year=2010/month=feb/day=1/Android.csv my-app-bucket/Sales/year=2010/month=feb/day=2/iOS.csv my-app-bucket/Sales/year=2010/month=feb/day=2/Android.csv ... my-app-bucket/Sales/year=2017/month=feb/day=4/iOS.csv my-app-bucket/Sales/year=2017/month=feb/day=4/Android.csv
Das Tool AWS Glue Die Konsole wurde kürzlich aktualisiert. Die aktuelle Version der Konsole bietet keine Unterstützung für Tabellenressourcenlinks.

Außerdem kann der Data Catalog auch Ressourcenlinks zu Tabellen enthalten. Ein Link zu einer Tabellenressource ist eine Verknüpfung zu einer lokalen oder freigegebenen Datenbank. Derzeit können Sie Ressourcenlinks nur in erstellen AWS Lake Formation. Nachdem Sie eine Ressourcenverknüpfung zu einer Tabelle erstellt haben, können Sie den Namen der Ressourcenverknüpfung überall dort verwenden, wo Sie den Tabellennamen verwenden würden. Zusammen mit Tabellen, die Sie besitzen oder die für Sie gemeinsam genutzt werden, werden Tabellenressourcen-Links von zurückgegeben glue:GetTables() und als Einträge auf der Tabellenseite des AWS Glue console.

Außerdem kann der Data Catalog auch Ressourcen-Links zu Datenbanken enthalten.

Weitere Informationen zu Ressourcenlinks finden Sie unter Erstellen von Ressourcenlinks im AWS Lake Formation Leitfaden für Entwickler.

Tabellen mit der Konsole erstellen

Eine Tabelle in der AWS Glue Data Catalog ist die Metadatendefinition, die die Daten in einem Datenspeicher darstellt. Sie erstellen Tabellen, wenn Sie einen Crawler ausführen, oder Sie können eine Tabelle manuell in der AWS Glue console. Die Tabellenliste im AWS Glue Die Konsole zeigt Werte der Metadaten Ihrer Tabelle an. Sie verwenden Tabellendefinitionen, um Quellen und Ziele anzugeben, wenn Sie Jobs erstellen ETL (extrahieren, transformieren und laden).

Anmerkung

Mit den jüngsten Änderungen an AWS In der Managementkonsole müssen Sie möglicherweise Ihre vorhandenen IAM Rollen ändern, um die SearchTablesentsprechende Berechtigung zu erhalten. Für die Erstellung neuer Rollen wurde die SearchTables API Berechtigung bereits als Standard hinzugefügt.

Um zu beginnen, melden Sie sich bei AWS Management Console und öffne das AWS Glue Konsole bei https://console.aws.amazon.com/glue/. Wählen Sie die Registerkarte Tabellen aus und verwenden Sie die Add tables (Tabellen hinzufügen)-Schaltfläche, um Tabellen entweder mit einem Crawler oder durch die manuelle Eingabe von Attributen zu erstellen.

Hinzufügen von Tabellen in der Konsole

Um einen Crawler zum Hinzufügen von Tabellen zu verwenden, wählen Sie Add tables (Tabellen hinzufügen), Add tables using a crawler (Tabellen mit einem Crawler hinzufügen) aus. Dann folgen Sie den Anweisungen im Add crawler (Crawler hinzufügen)-Assistenten. Wenn der Crawler ausgeführt wird, werden Tabellen zur AWS Glue Data Catalog. Weitere Informationen finden Sie unterVerwenden von Crawlern zum Auffüllen des Datenkatalogs .

Wenn Sie die Attribute kennen, die zum Erstellen einer Amazon Simple Storage Service (Amazon S3)-Tabellendefinition in Ihrem Data Catalog erforderlich sind, können Sie sie mit dem Tabellenassistenten erstellen. Wählen Sie Add tables (Tabellen hinzufügen), Add table manually (Tabelle manuell hinzufügen) aus und befolgen Sie die Anweisungen im Add table (Tabelle hinzufügen)-Assistenten.

Wenn eine Tabelle über die Konsole manuell hinzufügt wird, sollten Sie Folgendes beachten:

  • Wenn Sie über Amazon Athena auf die Tabelle zugreifen möchten, müssen Sie einen Namen angeben, der nur aus alphanumerischen Zeichen und Unterstrichen besteht. Weitere Informationen finden Sie unter Athena-Namen.

  • Der Speicherort der Quelldaten muss ein Amazon-S3-Pfad sein.

  • Das Datenformat der Daten muss mit einem der aufgeführten Formate im Assistenten übereinstimmen. Die entsprechende Klassifizierung und andere Tabelleneigenschaften werden automatisch auf der Grundlage des ausgewählten Formats ausgefüllt. SerDe Sie können Tabellen mit den folgenden Formaten definieren:

    Avro

    Apache JSON Avro-Binärformat.

    CSV

    Werte mit Zeichentrennung. Außerdem geben Sie das Trennzeichen entweder als Komma, Pipe, Semikolon, Tabstopp oder Strg-A an.

    JSON

    JavaScript Objektnotation.

    XML

    Extensible Markup Language-Format. Geben Sie das XML Tag an, das eine Zeile in den Daten definiert. Spalten werden in Zeilen-Tags definiert.

    Parquet

    Spaltenweise Speicherung von Apache Parquet.

    ORC

    Optimiertes Row Columnar (ORC) -Dateiformat. Ein Format zur effizienten Speicherung von Hive-Daten.

  • Sie können einen Partitionsschlüssel für die Tabelle definieren.

  • Derzeit können partitionierte Tabellen, die Sie mit der Konsole erstellen, nicht in ETL Jobs verwendet werden.

Tabellenattribute

Es folgen einige wichtige Attribute Ihrer Tabelle:

Name

Der Name wird festgelegt, wenn die Tabelle erstellt wird, und kann nicht geändert werden. In vielen Fällen verweisen Sie auf einen Tabellennamen AWS Glue Operationen.

Datenbank

Das Container-Objekt, in dem die Tabelle gespeichert ist. Dieses Objekt enthält eine Organisation Ihrer Tabellen, die innerhalb der AWS Glue Data Catalog und kann sich von einer Organisation in Ihrem Datenspeicher unterscheiden. Wenn Sie eine Datenbank löschen, werden alle Tabellen in der Datenbank ebenfalls von dem Data Catalog gelöscht.

Beschreibung

Die Beschreibung der Tabelle. Sie können eine Beschreibung zum besseren Verständnis der Inhalte der Tabelle schreiben.

Tabellenformat

Geben Sie an, dass ein Standard erstellt wird AWS Glue Tabelle oder eine Tabelle im Apache Iceberg-Format.

Der Datenkatalog bietet die folgenden Optionen zur Tabellenoptimierung, um den Tabellenspeicher zu verwalten und die Abfrageleistung für Iceberg-Tabellen zu verbessern.

  • Komprimierung — Datendateien werden zusammengeführt und neu geschrieben, veraltete Daten werden entfernt und fragmentierte Daten werden in größeren, effizienteren Dateien konsolidiert.

  • Aufbewahrung von Snapshots — Snapshots sind Versionen einer Iceberg-Tabelle mit Zeitstempel. Mit Konfigurationen zur Aufbewahrung von Snapshots können Kunden festlegen, wie lange und wie viele Snapshots aufbewahrt werden sollen. Die Konfiguration eines Optimizers für die Aufbewahrung von Snapshots kann helfen, den Speicheraufwand zu minimieren, indem ältere, unnötige Snapshots und die zugehörigen zugrunde liegenden Dateien entfernt werden.

  • Löschen verwaister Dateien — Verwaiste Dateien sind Dateien, auf die in den Metadaten der Iceberg-Tabelle nicht mehr verwiesen wird. Diese Dateien können sich im Laufe der Zeit ansammeln, insbesondere nach Vorgängen wie dem Löschen von Tabellen oder fehlgeschlagenen Aufträgen. ETL Die Aktivierung des Löschens verwaister Dateien ermöglicht AWS Glue um diese überflüssigen Dateien regelmäßig zu identifizieren und zu entfernen, wodurch Speicherplatz frei wird.

Weitere Informationen finden Sie unter Optimieren von Iceberg-Tabellen.

Konfiguration der Optimierung

Sie können entweder die Standardeinstellungen verwenden oder die Einstellungen für die Aktivierung der Tabellenoptimierer anpassen.

IAMRolle

Um die Tabellenoptimierer auszuführen, übernimmt der Dienst eine IAM Rolle in Ihrem Namen. Sie können eine IAM Rolle mithilfe der Dropdownliste auswählen. Die Rolle sollte die erforderlichen Berechtigungen für die Verdichtung haben.

Weitere Informationen zu den erforderlichen Berechtigungen für die IAM Rolle finden Sie unter Voraussetzungen für die Tabellenoptimierung .

Ort

Der Zeiger auf den Speicherort der Daten in einem Datenspeicher, den diese Tabellendefinition repräsentiert.

Klassifizierung

Ein Kategorisierungswert, der bei der Erstellung der Tabelle bereitgestellt wurde. In der Regel wird dieser geschrieben, wenn ein Crawler ausgeführt wird, und gibt das Format der Quelldaten an.

Letzte Aktualisierung

Uhrzeit und Datum (UTC), an dem diese Tabelle im Datenkatalog aktualisiert wurde.

Datum hinzugefügt

Uhrzeit und Datum (UTC), an dem diese Tabelle dem Datenkatalog hinzugefügt wurde.

Als veraltet gekennzeichnet

Wenn AWS Glue stellt fest, dass eine Tabelle im Datenkatalog nicht mehr in ihrem ursprünglichen Datenspeicher existiert, und markiert die Tabelle im Datenkatalog als veraltet. Wenn Sie einen Auftrag ausführen, der auf eine veraltete Tabelle verweist, kann der Auftrag fehlschlagen. Bearbeiten Sie Aufträge, die auf veraltete Tabellen verweisen, um sie als Quellen und Ziele zu entfernen. Wir empfehlen, dass Sie veraltete Tabellen löschen, wenn sie nicht mehr benötigt werden.

Verbindung

Wenn AWS Glue erfordert eine Verbindung zu Ihrem Datenspeicher, der Name der Verbindung ist der Tabelle zugeordnet.

Tabellendetails anzeigen und verwalten

Um die Details einer vorhandenen Tabelle anzuzeigen, wählen Sie den Tabellennamen in der Liste und dann Action, View details (Aktion, Details anzeigen) aus.

Die Tabellendetails umfassen Eigenschaften der Tabelle und deren Schema. Diese Ansicht zeigt das Schema der Tabelle an, einschließlich Spaltennamen in der Reihenfolge, die für die Tabelle, Datentypen und Schlüsselspalten für Partitionen definiert wurde. Wenn eine Spalte ein komplexer Typ ist, können Sie View properties (Eigenschaften anzeigen) auswählen, um Details der Struktur dieses Felds anzuzeigen, wie im folgenden Beispiel dargestellt:

{ "StorageDescriptor": { "cols": { "FieldSchema": [ { "name": "primary-1", "type": "CHAR", "comment": "" }, { "name": "second ", "type": "STRING", "comment": "" } ] }, "location": "s3://aws-logs-111122223333-us-east-1", "inputFormat": "", "outputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "compressed": "false", "numBuckets": "0", "SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "|" } }, "bucketCols": [], "sortCols": [], "parameters": {}, "SkewedInfo": {}, "storedAsSubDirectories": "false" }, "parameters": { "classification": "csv" } }

Weitere Informationen zu den Eigenschaften einer Tabelle, wie z. B. StorageDescriptor, finden Sie unter StorageDescriptor Struktur.

Wenn Sie das Schema einer Tabelle ändern möchten, wählen Sie Edit schema (Schema bearbeiten) aus, um Spalten hinzuzufügen oder zu löschen und Spaltennamen und Datentypen zu ändern.

Um verschiedene Versionen einer Tabelle, einschließlich ihres Schemas, zu vergleichen, wählen Sie Versionen vergleichen aus, um einen side-by-side Vergleich zweier Versionen des Schemas für eine Tabelle anzuzeigen. Weitere Informationen finden Sie unter Vergleich der Versionen von Tabellenschemas .

Zum Anzeigen der Dateien, aus denen eine Amazon-S3-Partition besteht, wählen Sie View Partition (Partition anzeigen) aus. Bei Amazon-S3-Tabellen zeigt die Schlüssel-Spalte die Partitionsschlüssel an, die verwendet werden, um die Tabelle im Quelldatenspeicher zu partitionieren. Die Partitionierung ist eine Möglichkeit zum Aufteilen einer Tabelle in verknüpfte Teile basierend auf den Werten einer Schlüsselspalte wie beispielsweise Datum, Ort oder Abteilung. Für weitere Informationen zu Partitionen, suchen Sie im Internet nach Informationen über "Hive-Partitionierung".

Anmerkung

step-by-step Anleitungen zum Anzeigen der Details einer Tabelle finden Sie in der Konsole im Tutorial „Tabelle erkunden“.

Vergleich der Versionen von Tabellenschemas

Wenn Sie zwei Versionen von Tabellenschemas vergleichen, können Sie Änderungen an verschachtelten Zeilen vergleichen, indem Sie verschachtelte Zeilen erweitern und reduzieren, Schemas zweier Versionen side-by-side vergleichen und Tabelleneigenschaften anzeigen. side-by-side

Wie Sie Versionen vergleichen

  1. Aus dem AWS Glue Wählen Sie in der Konsole Tabellen, dann Aktionen und dann Versionen vergleichen aus.

    Der Screenshot zeigt die Schaltfläche Aktionen, wenn sie ausgewählt ist. Im Drop-down-Menü wird die Option Versionen vergleichen angezeigt.
  2. Wählen Sie eine Version, die Sie vergleichen möchten, indem Sie das Dropdown-Menü wählen. Beim Vergleich von Schemas ist die Registerkarte Schema orange hervorgehoben.

  3. Wenn Sie Tabellen zwischen zwei Versionen vergleichen, werden Ihnen die Tabellenschemas auf der linken und rechten Seite des Bildschirms angezeigt. Auf diese Weise können Sie Änderungen visuell feststellen, indem Sie die Felder Spaltenname, Datentyp, Schlüssel und Kommentar vergleichen side-by-side. Wenn es eine Änderung gibt, zeigt ein farbiges Symbol die Art der vorgenommenen Änderung an.

    • Gelöscht – ein rotes Symbol zeigt an, wo die Spalte aus einer früheren Version des Tabellenschemas entfernt wurde.

    • Bearbeitet oder Verschoben – Ein blaues Symbol zeigt an, wo die Spalte in einer neueren Version des Tabellenschemas geändert oder verschoben wurde.

    • Gelöscht – ein rotes Symbol zeigt an, wo die Spalte aus einer früheren Version des Tabellenschemas entfernt wurde.

    • Verschachtelte Änderungen – Ein gelbes Symbol zeigt an, wo die verschachtelte Spalte Änderungen enthält. Wählen Sie die Spalte aus, die erweitert werden soll, und sehen Sie sich die Spalten an, die entweder gelöscht, bearbeitet, verschoben oder hinzugefügt wurden.

    Der Screenshot zeigt den Vergleich des Tabellenschemas zwischen zwei Versionen. Auf der linken Seite befindet sich die ältere Version. Auf der rechten Seite befindet sich die neuere Version. Das Löschsymbol befindet sich neben einer Spalte, die aus der älteren Version entfernt wurde und in der neueren Version nicht mehr enthalten ist.
  4. Verwenden Sie die Suchleiste für Filterfelder, um Felder anzuzeigen, die auf den Zeichen basieren, die Sie hier eingeben. Wenn Sie in einer der Tabellenversionen einen Spaltennamen eingeben, werden die gefilterten Felder in beiden Tabellenversionen angezeigt, um Ihnen zu zeigen, wo die Änderungen vorgenommen wurden.

  5. Um Eigenschaften zu vergleichen, wählen Sie die Registerkarte der Eigenschaften.

  6. Um den Versionsvergleich zu beenden, wählen Sie Vergleich beenden, um zur Liste der Tabellen zurückzukehren.

Aktualisieren von manuell erstellten Data-Catalog-Tabellen mit Crawlern

Vielleicht möchten Sie Folgendes erstellen AWS Glue Data Catalog Tabellen manuell und aktualisieren Sie sie dann mit AWS Glue Crawler. Crawler, die nach einem Zeitplan ausgeführt werden, können neue Partitionen hinzufügen und die Tabellen mit allen Schemaänderungen aktualisieren. Dies gilt auch für Tabellen, die aus aus einem Apache Hive-Metastore migriert wurden.

Hierzu geben Sie beim Definieren eines Crawlers statt eines oder mehrerer Datenspeicher als Quelle eines Crawls eine oder mehrere vorhandene Data-Catalog-Tabellen an. Der Crawler durchsucht dann die durch die Katalogtabellen angegebenen Datenspeicher. In diesem Fall werden keine neuen Tabellen erstellt. Stattdessen werden Ihre manuell erstellten Tabellen aktualisiert.

Es folgen weitere mögliche Gründe dafür, Katalogtabellen manuell zu erstellen und Katalogtabellen als Crawler-Quelle anzugeben.

  • Sie möchten den Katalog-Tabellennamen wählen und dies nicht dem Benennungsalgorithmus der Katalogtabelle überlassen.

  • Sie möchten verhindern, dass neue Tabellen erstellt werden, falls Dateien mit einem die Paritionserkennung störenden Format versehentlich im Pfad der Datenquelle gespeichert werden.

Weitere Informationen finden Sie unter Schritt 2: Auswahl von Datenquellen und Classifier.

Eigenschaften der Data-Catalog-Tabelle

Tabelleneigenschaften oder Parameter, wie sie in der AWS CLI, sind nicht validierte Schlüssel- und Wertezeichenfolgen. Sie können Ihre eigenen Eigenschaften für die Tabelle festlegen, um Verwendungen des Datenkatalogs außerhalb von zu unterstützen AWS Glue. Andere Dienste, die den Datenkatalog verwenden, können dies ebenfalls tun. AWS Glue legt einige Tabelleneigenschaften fest, wenn Jobs oder Crawler ausgeführt werden. Sofern nicht anders beschrieben, sind diese Eigenschaften für den internen Gebrauch bestimmt. Wir unterstützen nicht, dass sie in ihrer aktuellen Form fortbestehen, und wir unterstützen auch nicht das Produktverhalten, wenn diese Eigenschaften manuell geändert werden.

Weitere Informationen zu Tabelleneigenschaften, die von festgelegt wurden, finden Sie AWS Glue Crawler finden Sie unterParameter, die vom Crawler in Data-Catalog-Tabellen festgelegt wurden.