SnowConvert AI – Probleme mit Vertica¶
SSC-EWI-VT0001¶
Die Klausel für geerbte Berechtigungen wird in Snowflake nicht unterstützt.
Beschreibung¶
INCLUDE SCHEMA PRIVILEGES von Vertica ermöglichen es Ansichten, Berechtigungen auf Schemaebene zu erben – im Gegensatz zu Snowflake, wo der Zugriff auf Ansichten über explizite GRANT-Anweisungen vergeben wird. Für die Migration dieser Vertica-Ansichten nach Snowflake müssen diese geerbten Berechtigungen manuell in spezifische GRANTs übersetzt werden.
Codebeispiel¶
Eingabecode:¶
Vertica¶
CREATE OR REPLACE VIEW mySchema.myuser
INCLUDE SCHEMA PRIVILEGES
AS
SELECT lastname FROM users;
Generierter Code:¶
Snowflake¶
CREATE OR REPLACE VIEW mySchema.myuser
!!!RESOLVE EWI!!! /*** SSC-EWI-VT0001 - INHERITED PRIVILEGES CLAUSE IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
INCLUDE SCHEMA PRIVILEGES
AS
SELECT lastname FROM
users;
Best Practices¶
Für Snowflake lautet die Empfehlung, diese geerbten Vertica-Berechtigungen zu übersetzen, indem man
GRANT-Anweisungen verwendet, um die erforderlichen Berechtigungen direkt bestimmten Rollen in der Ansicht zuzuweisen.Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.
SSC-EWI-VT0002¶
Die Tabellenoption „Order by“ wird in Snowflake nicht unterstützt.
Beschreibung¶
In Vertica gibt diese ORDER BY-Klausel an, wie Daten innerhalb einer Superprojektion, einer optimierten Speicherstruktur für eine Tabelle, physisch sortiert werden. Diese explizite physische Reihenfolge bei der Tabellenerstellung wird in Snowflake nicht direkt unterstützt.
Snowflake handhabt Datenspeicher anders und verwendet Mikropartitionen. Während die Daten innerhalb dieser Mikropartitionen eine gewisse natürliche Ordnung aufweisen können – basierend auf der Einfügung oder sofern Gruppierungsschlüssel definiert sind , wird eine ORDER BY-Klausel nicht verwendet, um diese physische Anordnung bei der Tabellenerstellung in derselben expliziten Weise vorzugeben wie bei Verticas Superprojektionen. Stattdessen setzt Snowflake Clustering ein, um das Datenlayout für bessere Performance zu optimieren und so einen automatisierten Ansatz für die physische Bestellung zu bieten.
Codebeispiel¶
Eingabecode:¶
Vertica¶
CREATE TABLE metrics
(
metric_id INT,
business_unit VARCHAR(100),
metric_category VARCHAR(50) NOT NULL,
measurement_date DATE NOT NULL
)
ORDER BY measurement_date, business_unit, metric_category;
Generierter Code:¶
Snowflake¶
CREATE TABLE metrics
(
metric_id INT,
business_unit VARCHAR(100),
metric_category VARCHAR(50) NOT NULL,
measurement_date DATE NOT NULL
)
!!!RESOLVE EWI!!! /*** SSC-EWI-VT0002 - ORDER BY TABLE OPTION IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
ORDER BY measurement_date, business_unit, metric_category
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "vertica", "convertedOn": "06/17/2025", "domain": "no-domain-provided" }}';
Best Practices¶
Für Snowflake wird empfohlen, Gruppierungsschlüssel hinzuzufügen, um dieses Verhalten zu emulieren, was den [Snowflake-eigenen Empfehlungen für die Implementierung von Gruppierungsschlüsseln] (https://docs.snowflake.com/en/user-guide/tables-clustering-keys) entspricht.
Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.