Eine Katalogintegration konfigurieren

Eine Katalogintegration ist ein benanntes Snowflake-Objekt auf Kontoebene, das Informationen darüber speichert, wie Ihre Metadaten für die folgenden Szenarios organisiert sind:

  • Wenn Sie nicht Snowflake als Iceberg Katalog verwenden Sie benötigen zum Beispiel eine Katalogintegration, wenn Ihre Tabelle von AWS Glue verwaltet wird.

  • Wenn Sie eine Integration mit Snowflake Open Catalog vornehmen möchten:

    • Abfrage einer Iceberg-Tabelle in Snowflake Open Catalog mit Snowflake.

    • Synchronisieren Sie eine von Snowflake verwaltete Iceberg-Tabelle mit Snowflake Open Catalog, sodass Computemodule von Drittanbietern die Tabelle abfragen können.

Eine einzelne Katalogintegration kann eine oder mehrere Iceberg-Tabellen unterstützen, die denselben externen Katalog verwenden.

Sie müssen eine Katalogintegration angeben, um eine Apache Iceberg™-Tabelle in Snowflake für die folgenden Szenarios zu erstellen:

  • Verwenden Sie einen externen Iceberg-Katalog.

  • Erstellen Sie eine Tabelle aus Dateien im Objektspeicher.

  • Integration mit Snowflake Open Catalog.

  • Verwenden Sie einen Iceberg REST Katalog.

Katalogintegration erstellen

Sie können eine Katalogintegration zur Verwendung mit einer oder mehreren Iceberg-Tabellen erstellen und konfigurieren.

Spezifische Anleitungen dazu finden Sie unter folgenden Themen:

Standardkatalog auf Konto-, Datenbank- oder Schema-Ebene einstellen

Um festzulegen, welcher Katalog als Standard für Iceberg-Tabellen verwendet werden soll, können Sie den Parameter CATALOG auf den folgenden Ebenen einstellen:

Konto:

Kontoadministratoren können mit dem Befehl ALTER ACCOUNT die Parameter für das Konto festlegen. Wenn der Wert für das Konto festgelegt ist, verwenden alle Iceberg-Tabellen, die im Konto erstellt wurden und einen externen Katalog verwenden, standardmäßig diese Katalogintegration.

Objekt:

Benutzer können den entsprechenden CREATE <Objekt>- oder ALTER <Objekt>-Befehl ausführen, um den Parameterwert von CATALOG auf Datenbank- oder Schema-Ebene zu überschreiben. Es wird die Deklaration mit dem kleinsten Geltungsbereich verwendet: Schema > Datenbank > Konto.

Zusätzlich zu den Mindestberechtigungen, die für das Ändern eines Objekts mit dem entsprechenden ALTER <Objekttyp>-Befehl erforderlich sind, muss eine Rolle die USAGE-Berechtigung für die Katalogintegration haben.

Bemerkung

Änderungen am Parameter CATALOG gelten nur für Tabellen, die nach der Änderung erstellt wurden. Bestehende Tabellen verwenden weiterhin das die Katalogintegration, die bei ihrer Erstellung angegeben wurde.

Beispiel

Mit der folgenden Anweisung wird eine Katalogintegration (shared_catalog_integration) für eine Datenbank namens my_database_1 festgelegt:

ALTER DATABASE my_database_1
  SET CATALOG = 'shared_catalog_integration';
Copy

Nachdem Sie eine Katalogintegration auf Datenbankebene festgelegt haben, können Sie eine Iceberg-Tabelle in dieser Datenbank erstellen, ohne eine Katalogintegration angeben zu müssen. Mit der folgenden Anweisung wird eine Iceberg-Tabelle aus Metadaten im Objektspeicher in my_database_1 erstellt, die die für die Datenbank festgelegte Standard-Katalogintegration (shared_catalog_integration) verwendet.

CREATE ICEBERG TABLE my_iceberg_table
   EXTERNAL_VOLUME='my_external_volume'
   METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';
Copy