Iceberg-Tabellenschema weiterentwickeln - Amazon Athena

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.

Iceberg-Tabellenschema weiterentwickeln

Iceberg-Schemaaktualisierungen sind reine Metadaten-Änderungen. Bei einer Schemaaktualisierung werden keine Datendateien geändert.

Das Iceberg-Format unterstützt die folgenden Änderungen an der Schemaentwicklung:

  • Einfügen – Fügt einer Tabelle oder einer verschachtelten struct eine neue Spalte hinzu.

  • Entfernen – Entfernt eine vorhandene Spalte aus einer Tabelle oder einem verschachtelten struct.

  • Umbenennen – Benennt eine vorhandene Spalte oder ein vorhandenes Feld in einer verschachtelten struct.

  • Neuanordnen – Ändert die Reihenfolge der Spalten.

  • Promotionstyp – Erweitert den Typ einer Spalte, ein struct-Feld, eine map-Schlüssel, einen map-Wert, oder ein list-Element. Derzeit werden die folgenden Fälle für Iceberg-Tabellen unterstützt:

    • Ganzzahl bis große Ganzzahl

    • FLOAT, DOUBLE

    • Erhöhung der Genauigkeit eines Dezimaltyps

TABELLE ÄNDERN SPALTEN HINZUFÜGEN

Fügt einer vorhandenen Iceberg-Tabelle eine oder mehrere Spalten hinzu.

Syntax

ALTER TABLE [db_name.]table_name ADD COLUMNS (col_name data_type [,...])

Beispiele

Im folgenden Beispiel wird eine comment-Spalte des Typs string einer Iceberg-Tabelle hinzugefügt.

ALTER TABLE iceberg_table ADD COLUMNS (comment string)

Im folgenden Beispiel wird eine point-Spalte des Typs struct einer Iceberg-Tabelle hinzugefügt.

ALTER TABLE iceberg_table ADD COLUMNS (point struct<x: double, y: double>)

Im folgenden Beispiel wird eine points-Spalte, die ein Array von Strukturen zu einer Iceberg-Tabelle ist, hinzugefügt.

ALTER TABLE iceberg_table ADD COLUMNS (points array<struct<x: double, y: double>>)

ALTER TABLE DROP COLUMN

Lässt eine Spalte von einer vorhandenen Iceberg-Tabelle fallen.

Syntax

ALTER TABLE [db_name.]table_name DROP COLUMN col_name

Beispiel

ALTER TABLE iceberg_table DROP COLUMN userid

ALTER TABLE CHANGE COLUMN

Ändert den Namen, den Typ, die Reihenfolge oder den Kommentar einer Spalte.

Anmerkung

ALTER TABLE REPLACE COLUMNS wird nicht unterstützt. Da REPLACE COLUMNS alle Spalten entfernt und dann neue hinzufügt, wird es für Iceberg nicht unterstützt. CHANGE COLUMN ist die bevorzugte Syntax für die Schemaentwicklung.

Syntax

ALTER TABLE [db_name.]table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]

Beispiel

ALTER TABLE iceberg_table CHANGE comment blog_comment string AFTER id

SHOW_COLUMNS

Zeigt die Spalten in einer Tabelle an.

Syntax

SHOW COLUMNS (FROM|IN) [db_name.]table_name

Beispiel

SHOW COLUMNS FROM iceberg_table