Iceberg-Tabelle erstellen¶
Unter diesem Thema wird beschrieben, wie Iceberg-Tabellen in Snowflake für verschiedene Optionen für den Iceberg-Katalog erstellt werden. Sie können eine Iceberg-Tabelle mit dem Befehl CREATE ICEBERG TABLE erstellen.
Bemerkung
Um eine Iceberg-Tabelle zu erstellen, müssen Sie ein aktives Warehouse haben, das als aktuelles Warehouse Ihrer Sitzung angegeben ist. Es können Fehler auftreten, wenn beim Erstellen einer Iceberg-Tabelle kein aktives Warehouse angegeben wird. Weitere Informationen dazu finden Sie unter Verwenden von Warehouses.
Iceberg-Tabelle mit Snowflake als Katalog erstellen¶
Um eine Iceberg-Tabelle mit Snowflake als Katalog zu erstellen, müssen Sie ein externes Volume und einen Basis-Speicherort (Verzeichnis auf dem externen Volume) angeben, in den Snowflake Tabellendaten und Metadaten schreiben kann. Eine Anleitung zum Erstellen eines externen Volumes finden Sie unter Konfigurieren eines externen Volumes für Iceberg-Tabellen.
Um Tabellenspalten zu definieren, können Sie Iceberg-Datentypen verwenden. Weitere Informationen dazu finden Sie unter Datentypen von Iceberg-Tabellen.
Im folgenden Beispiel wird eine Iceberg-Tabelle mit Snowflake als Iceberg-Katalog erstellt.
CREATE OR REPLACE ICEBERG TABLE my_iceberg_table (
boolean_col boolean,
int_col int,
long_col long,
float_col float,
double_col double,
decimal_col decimal(10,5),
string_col string,
fixed_col fixed(10),
binary_col binary,
date_col date,
time_col time,
timestamp_ntz_col timestamp_ntz(6),
timestamp_ltz_col timestamp_ltz(6)
)
CATALOG = 'SNOWFLAKE'
EXTERNAL_VOLUME = 'my_ext_vol'
BASE_LOCATION = 'my/relative/path/from/extvol';
Bemerkung
Alternativ können Sie auch die Syntaxvarianten verwenden. Weitere Informationen dazu finden Sie unter CREATE TABLE … AS SELECT und CREATE ICEBERG TABLE … LIKE.
Nachdem Sie eine Tabelle erstellt haben, die Snowflake als Katalog verwendet, können Sie Aktionen wie die folgenden durchführen:
Weitere Informationen dazu finden Sie unter Iceberg-Tabelle verwalten.
Iceberg-Tabelle mit einer Katalogintegration erstellen¶
Um eine Iceberg-Tabelle zu erstellen, die einen externen Katalog oder gar keinen Katalog verwendet, müssen Sie ein externes Volume und eine Katalogintegration angeben. Wenn Sie einen externen Iceberg-Katalog verwenden, müssen Sie möglicherweise zusätzliche Parameter angeben. Wenn Sie zum Beispiel AWS Glue als Katalog verwenden, müssen Sie den Namen einer Katalogtabelle angeben.
Wenn Sie eine Iceberg-Tabelle mit einer Katalogintegration erstellen, führt Snowflake eine erste Aktualisierung der Metadaten durch. Sie können die Metadaten der Tabelle auch manuell mit dem Befehl ALTER ICEBERG TABLE aktualisieren, um die Metadaten mit den jüngsten Tabellenänderungen zu synchronisieren. Weitere Informationen dazu finden Sie unter Tabellen-Metadaten manuell aktualisieren.
Erstellen Sie eine Iceberg-Tabelle mit AWS Glue als Katalog¶
Wichtig
Sie müssen eine Katalogintegration für AWS Glue konfigurieren, um eine Vertrauensstellung zwischen Snowflake und dem Glue-Datenkatalog herzustellen. Eine Anleitung dazu finden Sie unter Katalogintegration für Iceberg-Tabellen konfigurieren.
Im folgenden Beispiel wird eine Iceberg-Tabelle erstellt, die den AWS Glue-Datenkatalog verwendet, wobei der Name einer Katalogintegration angegeben wird, die für AWS Glue (glueCatalogInt
) konfiguriert wurde, sowie ein Wert für die Eigenschaft CATALOG_TABLE_NAME
.
CREATE ICEBERG TABLE myGlueTable
EXTERNAL_VOLUME='glueCatalogVolume'
CATALOG='glueCatalogInt'
CATALOG_TABLE_NAME='myGlueTable';
Nachdem Sie eine Tabelle mit AWS Glue als Katalog erstellt haben, können Sie Aktionen wie die folgenden durchführen:
Iceberg-Tabelle aus Iceberg-Metadaten im Objektspeicher erstellen¶
Im folgenden Beispiel wird eine Iceberg-Tabelle aus Iceberg-Metadaten in einem externen Cloudspeicher erstellt, wobei ein relativer Pfad zu den Tabellen-Metadaten auf dem externen Volume (METADATA_FILE_PATH
) angegeben wird.
CREATE ICEBERG TABLE myIcebergTable
EXTERNAL_VOLUME='icebergMetadataVolume'
CATALOG='icebergCatalogInt'
METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';
Nachdem Sie eine Tabelle aus Dateien im Objektspeicher erstellt haben, können Sie Aktionen wie die folgenden durchführen: