SnowConvert: Azure Synapse

O que é o SnowConvert para o Azure Synapse?

O SnowConvert é um software que entende os scripts do Azure Synapse e converte esse código-fonte em código Snowflake funcionalmente equivalente.

Tipos de conversão

Especificamente, o SnowConvert para Azure Synapse realiza as seguintes conversões:

Azure Synapse para Snowflake SQL

O SnowConvert compreende o código-fonte do Azure Synapse e converte a Linguagem de Definição de Dados (DDL), a Linguagem de Manipulação de Dados (DML) e as funções no código-fonte para o SQL correspondente no destino: Snowflake.

Código da amostra

Código de entrada básico do Azure Synapse:

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

Código de saída 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

Como você pode ver, a maior parte da estrutura permanece a mesma. Há alguns casos em que os tipos de dados precisam ser transformados, por exemplo.

Procedimentos armazenados do Azure Synapse para JavaScript incorporados no Snowflake SQL

O SnowConvert pega os procedimentos armazenados do Azure Synapse e os converte em JavaScript incorporados ao Snowflake SQL. O CREATE PROCEDURE do Azure Synapse é substituído pelo CREATE OR REPLACE PROCEDURE do Snowflake. O JavaScript é chamado de linguagem de script, e todas as instruções internas são convertidas para JavaScript.

Código da amostra

Procedimento armazenado básico do Azure Synapse:

 CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
Copy

Código de saída Snowflake SQL, com JavaScript incorporado:

 -- 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
  • Ao criar o código JavaScript, há uma parte do código adicionada como um helper, necessária para facilitar a transformação do conteúdo do procedimento.

  • Você pode esperar ver avisos com um código associado para ajudá-lo a descobrir o que está acontecendo no código convertido. (Consulte problemas e resolução de problemas)

Terminologia do SnowConvert

Antes de nos perdermos na mágica dessas conversões de código, aqui estão alguns termos/definições para que você saiba o que queremos dizer quando começarmos a usá-los em toda a documentação:

  • SQL (Structured Query Language): a linguagem padrão para armazenar, manipular e recuperar dados na maioria das arquiteturas modernas de banco de dados.

  • SnowConvert: o software que converte de forma segura e automática seus arquivos do Azure Synapse para a plataforma de dados em nuvem Snowflake.

  • Conversion rule ou transformation rule: regras que permitem que o SnowConvert converta de uma parte do código-fonte para o código-alvo esperado.

  • Parse: A análise é um processo inicial realizado pelo SnowConvert para entender o código-fonte e criar uma estrutura de dados interna necessária para executar as regras de conversão.

Nas próximas páginas, você saberá mais sobre os tipos de conversões que o SnowConvert para SQL Server é capaz de fazer. Se estiver pronto para começar, visite a página Introdução nesta documentação.