- 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>'
)
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_namemigrieren 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 Iceberg REST
AWS Glue
Kehren Sie zu einer Katalogintegration zurück, die eine AWS Glue-Katalogquelle verwendet.
Iceberg REST
Migrieren Sie die Tabelle zu einer alternativen Katalogintegration.
Es werden keine anderen Übergangskombinationen unterstützt.
table_nameundnew_catalog_integration_namesind 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');
Beispielausgabe:
+------------------------------------------------------------------------------------------------------------------------------+
| SYSTEM$SET_CATALOG_INTEGRATION |
+------------------------------------------------------------------------------------------------------------------------------+
| Catalog integration for table GLUE_TABLE has been migrated from 'GLUE_CATALOG_INTEGRATION' to 'GLUE_REST_CATALOG_INT' |
+------------------------------------------------------------------------------------------------------------------------------+
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. |