SnowConvert: Azure Synapse¶
Was ist SnowConvert für Azure Synapse?¶
SnowConvert ist eine Software, die Azure Synapse-Skripte versteht und diesen Quellcode in funktional gleichwertigen Snowflake-Code konvertiert.
Konvertierungstypen
SnowConvert für Azure Synapse führt die folgenden Konvertierungen durch:
Azure Synapse zu Snowflake-SQL¶
SnowConvert versteht den Azure Synapse-Quellcode und konvertiert die Datendefinitionssprache (Data Definition Language, DDL), Datenbearbeitungssprache (Data Manipulation Language, DML) und Funktionen im Quellcode in das entsprechende SQL im Ziel: Snowflake.
Beispielcode¶
Grundlegender Azure Synapse-Eingabecode:
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
Snowflake-SQL-Ausgabecode:
CREATE OR REPLACE TABLE Persons (
PersonID INT,
LastName VARCHAR(255),
FirstName VARCHAR(255),
Address VARCHAR(255),
City VARCHAR(255)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"azure synapse"}}'
;
Wie Sie sehen können, bleibt die Struktur größtenteils gleich. Es gibt einige Fälle, in denen die Datentypen umgewandelt werden müssen, zum Beispiel:
Gespeicherte Azure Synapse-Prozeduren in JavaScript, das in Snowflake-SQL eingebettet ist¶
SnowConvert konvertiert gespeicherte Azure Synapse-Prozeduren in JavaScript, das in Snowflake-SQL eingebettet ist. Die CREATE PROCEDURE von Azure Synapse wird durch CREATE OR REPLACE PROCEDURE von Snowflake ersetzt. JavaScript wird als Skriptsprache aufgerufen, und alle inneren Anweisungen werden in JavaScript konvertiert.
Beispielcode¶
Grundlegende gespeicherte Azure Synapse-Prozedur:
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
Snowflake-SQL-Ausgabecode, mit eingebettetem JavaScript:
-- Additional Params: -t JavaScript
CREATE OR REPLACE PROCEDURE SelectAllCustomers ()
RETURNS STRING
LANGUAGE JAVASCRIPT
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"transact"}}'
EXECUTE AS CALLER
AS
$$
// REGION SnowConvert Helpers Code
// END REGION
EXEC(`SELECT
*
FROM
Customers`);
$$;
!!!RESOLVE EWI!!! /*** SSC-EWI-0040 - THE STATEMENT IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
;
Bei der Erstellung des JavaScript-Codes wird ein Teil des Codes als helper hinzugefügt, der für eine einfachere Umwandlung des Inhalts der Prozedur erforderlich ist.
Sie können damit rechnen, dass Warnungen mit einem zugehörigen Code angezeigt werden, damit Sie herausfinden können, was im konvertierten Code passiert. (Siehe Probleme und Problembehandlung)
SnowConvert-Terminologie¶
Bevor wir uns in der Magie dieser Codekonvertierungen verlieren, hier ein paar Begriffe/Definitionen, damit Sie wissen, was wir meinen, wenn wir sie in der gesamten Dokumentation verwenden:
SQL (Structured Query Language):_ Die Standardsprache zum Speichern, Bearbeiten und Abfragen von Daten in den meisten modernen Datenbankarchitekturen.
SnowConvert_: die Software, die Ihre Azure Synapse-Dateien sicher und automatisch in die Snowflake Cloud-Datenplattform konvertiert.
Konvertierungsregel oder Transformationsregel: Regeln, die es SnowConvert ermöglichen, einen Teil des Quellcodes in den erwarteten Zielcode zu konvertieren.
Parsen: Parsen oder Parsing ist ein erster Prozess, der von SnowConvert durchgeführt wird, um den Quellcode zu verstehen und eine interne Datenstruktur aufzubauen, die für die Ausführung der Konvertierungsregeln erforderlich ist.
Auf den nächsten Seiten erfahren Sie mehr über die Art von Konvertierungen, zu denen SnowConvert für SQL Server in der Lage ist. Wenn Sie bereit sind, loszulegen, besuchen Sie die Seite Erste Schritte in dieser Dokumentation.