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)
);
Copy

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"}}'
;
Copy

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;
Copy

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 ***/!!!
;
Copy
  • 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.