SnowConvert : Azure Synapse

Qu’est-ce que SnowConvert pour Azure Synapse ?

SnowConvert est un logiciel qui comprend les scripts Azure Synapse et convertit ce code source en code Snowflake fonctionnellement équivalent.

Types de conversion

Plus précisément, SnowConvert pour Azure Synapse effectue les conversions suivantes :

Azure Synapse vers Snowflake SQL

SnowConvert comprend le code source Azure Synapse et convertit le langage de définition des données (DDL), le langage de manipulation des données (DML) et les fonctions du code source en SQL correspondants dans la cible : Snowflake.

Exemple de code

Code d’entrée de base d’Azure Synapse :

 CREATE TABLE Persons (
    PersonID int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
);
Copy

Code de sortie de Snowflake SQL :

 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

Comme vous pouvez le constater, la majeure partie de la structure reste inchangée. Dans certains cas, les types de données doivent être transformés, par exemple.

Procédures stockées Azure Synapse en procédures JavaScript intégrées dans Snowflake SQL :

SnowConvert prend les procédures stockées d’Azure Synapse et les convertit en procédures JavaScript intégrées dans Snowflake SQL. La PROCEDURE CREATE d’Azure Synapse est remplacée par la PROCEDURE CREATE OR REPLACE de Snowflake. JavaScript est appelé comme une langue de script, et toutes les instructions internes sont converties en JavaScript.

Exemple de code

Procédure stockée de base d’Azure Synapse :

 CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
Copy

Code de sortie Snowflake SQL avec JavaScript intégré :

 -- 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
  • Lors de la création du code JavaScript, une partie du code est ajoutée en tant qu’assistant nécessaire pour faciliter la transformation du contenu de la procédure.

  • Vous pouvez vous attendre à voir apparaître des avertissements avec un code associé pour vous aider à comprendre ce qui se passe dans le code converti. (Voir Problèmes et dépannage)

SnowConvert Terminologie

Avant de nous perdre dans la magie de ces conversions de code, voici quelques termes/définitions afin que vous sachiez de quoi nous parlons lorsque nous commençons à les utiliser dans la documentation :

  • SQL (Structured Query Language) : langage standard pour stocker, manipuler et récupérer des données dans la plupart des architectures de bases de données modernes.

  • SnowConvert: logiciel qui convertit automatiquement et en toute sécurité vos fichiers Azure Synapse vers la plateforme de données Cloud Snowflake.

  • Règle de conversion ou Règle de transformation : règles qui permettent à SnowConvert de convertir une partie du code source en code cible attendu.

  • Analyser : l’analyse est un processus initial effectué par SnowConvert pour comprendre le code source et construire une structure de données interne nécessaire à l’exécution des règles de conversion.

Les pages suivantes vous permettront d’en savoir plus sur le type de conversion dont SnowConvert pour SQL Server est capable. Si vous êtes prêt à commencer, visitez la page Prise en main de cette documentation.