Kategorien:

Systemfunktionen (Systemsteuerung)

SYSTEM$SET_CATALOG_INTEGRATION

Ersetzt die Katalogintegration, die mit einer extern verwalteten Apache Iceberg™-Tabelle verbunden ist.

Verwenden Sie diese Funktion, um eine Tabelle für die Arbeit mit einer REST-Katalogintegration zu aktualisieren, die eine größere Auswahl von Iceberg-Features unterstützt, wie z. B. die Schreibunterstützung für extern verwaltete Iceberg-Tabellen. Sie können diese Funktion auch verwenden, um bei Bedarf zur ursprünglichen Glue-Katalogintegration zurückzukehren.

Sie können diese Funktion auch verwenden, um Ihre Tabelle von einer Iceberg REST-Katalogintegration auf eine andere zu migrieren.

Syntax

SYSTEM$SET_CATALOG_INTEGRATION(
  '<table_name>' ,
  '<new_catalog_integration_name>'
)
Copy

Argumente

'table_name'

Name der Iceberg-Tabelle, deren Katalogintegration Sie ersetzen möchten.

'new_catalog_integration_name'

Name der Katalogintegration, auf die Sie die angegebene table_name migrieren möchten.

Rückgabewerte

Die Funktion gibt eine Statusmeldung zurück, dass die Katalogintegration für die Tabelle erfolgreich migriert wurde. Ein Beispiel dazu finden Sie unter Beispiele.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

OWNERSHIP

Tabelle, deren Katalogintegration ersetzt wird.

USAGE

Aktuelle Katalogintegration.

USAGE

Ziel-Katalogintegration.

USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen. Beachten Sie, dass eine Rolle, die eine beliebige Berechtigung für ein Schema erhalten hat, es dieser Rolle erlaubt, das Schema aufzulösen. Zum Beispiel kann eine Rolle, der die CREATE-Berechtigung für ein Schema gewährt wurde, Objekte in diesem Schema erstellen, ohne auch USAGE für dieses Schema gewährt bekommen zu haben.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Sie können die Katalogintegration nur für extern verwaltete Iceberg-Tabellen in einer Standard-Snowflake-Datenbank ersetzen. Sie können die Katalogintegration für Iceberg-Tabellen nicht in einer mit dem Katalog verknüpften Datenbank ersetzen oder die Katalogintegration für andere Typen von Iceberg-Tabelle ersetzen.

  • Der Typ der aktuellen Katalogintegration, die mit der Tabelle verbunden ist, schränkt die Typen von Katalog ein, die Sie als Ersatz verwenden können. In der folgenden Tabelle sind die unterstützten Übergänge aufgeführt, wenn Sie einen Typ von Katalogintegration durch einen anderen ersetzen:

    Aktueller Typ der Katalogintegration

    Neuer Typ der Katalogintegration

    Anmerkungen

    AWS Glue

    AWS Glue Iceberg REST

    AWS Glue Iceberg REST

    AWS Glue

    Kehren Sie zu einer Katalogintegration zurück, die eine AWS Glue-Katalogquelle verwendet.

    Iceberg REST

    Iceberg REST

    Migrieren Sie die Tabelle zu einer alternativen Katalogintegration.

    Es werden keine anderen Übergangskombinationen unterstützt.

  • table_name und new_catalog_integration_name sind Zeichenfolgenliterale, daher müssen Sie die Werte in einfache Anführungszeichen setzen.

  • Sowohl die aktuelle als auch die Ziel-Katalogintegration müssen auf denselben externen Katalog verweisen.

  • Sowohl für die aktuelle als auch für die Ziel-Katalogintegration kann die automatische Erzeugung von Anmeldeinformationen nicht aktiviert werden.

Beispiele

Ersetzen Sie die AWS Glue-Katalogintegration, die mit einer Iceberg-Tabelle namens glue_table verknüpft ist, mit einer AWS Glue Iceberg REST-Katalogintegration namens glue_rest_catalog_int:

SELECT SYSTEM$SET_CATALOG_INTEGRATION('glue_table', 'glue_rest_catalog_int');
Copy

Beispielausgabe:

+------------------------------------------------------------------------------------------------------------------------------+
|                                                SYSTEM$SET_CATALOG_INTEGRATION                                                |
+------------------------------------------------------------------------------------------------------------------------------+
| Catalog integration for table GLUE_TABLE has been migrated from 'GLUE_CATALOG_INTEGRATION' to 'GLUE_REST_CATALOG_INT'        |
+------------------------------------------------------------------------------------------------------------------------------+
Copy

Problembehandlung

Wenn die Funktion fehlschlägt, gibt sie eine Fehlerantwort zurück. Häufige Fehlermeldungen sind:

Fehlermeldung

Situation und Lösung

SYSTEM$SET_CATALOG_INTEGRATION unterstützt nicht den Übergang von der Katalogintegration ‚[CURRENT_CATALOG_INTEGRATION]‘ zu ‚[TARGET_CATALOG_INTEGRATION]‘ aufgrund einer nicht unterstützten Typkombination.

Die angegebene aktuelle oder Ziel-Katalogintegration stimmt nicht mit den unterstützten Typen von Katalogintegrationen überein. Informationen zu den unterstützten Typen finden Sie in den Nutzungshinweisen.

SYSTEM$SET_CATALOG_INTEGRATION kann nicht von ‚[CURRENT_CATALOG_INTEGRATION]‘ zu ‚[TARGET_CATALOG_INTEGRATION]‘ aufgrund inkompatibler Konfigurationen für die Katalogintegration übergehen.

Die angegebenen Katalogintegrationen sind zwar ein unterstützter Typ, passen aber nicht zu einer der unterstützten Übergangskombinationen. Informationen zu den unterstützten Übergangskombinationen finden Sie in den Nutzungshinweise.

Unterstützt derzeit nicht die Durchführung eines Übergangs, wenn für die Katalogintegration ‚[CATALOG_INTEGRATIONBei ]‘ die automatische Erzeugung von Anmeldeinformationen aktiviert ist.

Für die bereitgestellte Katalogintegration ist die automatische Erzeugung von Anmeldeinformationen aktiviert. Geben Sie eine Katalogintegration an, bei der die automatische Erzeugung von Anmeldeinformationen deaktiviert ist, und versuchen Sie es erneut.

SYSTEM$SET_CATALOG_INTEGRATION kann nur für nicht verwaltete Iceberg-Tabellen verwendet werden.

Die bereitgestellte Tabelle ist keine extern verwaltete Iceberg-Tabelle. Stellen Sie eine extern verwaltete Iceberg-Tabelle bereit, und versuchen Sie es erneut.