Snowpark Migration Accelerator: Instruções SQL

Elementos marcados

Instruções SQL são marcadas para monitorar o uso e o consumo.

Instruções

HiveSQL

SparkSQL

SnowSQL

CREATE TABLE

SUPPORTED

SUPPORTED

FUNCTIONAL EQUIVALENT

CREATE VIEW

SUPPORTED

SUPPORTED

FUNCTIONAL EQUIVALENT

CREATE FUNCTION

NOT SUPPORTED

SUPPORTED

FUNCTIONAL EQUIVALENT

ALTER TABLE

SUPPORTED

SUPPORTED

FUNCTIONAL EQUIVALENT

ALTER VIEW

SUPPORTED

SUPPORTED

FUNCTIONAL EQUIVALENT

Nota

Quando um comentário é marcado como «FUNCTIONAL EQUIVALENT», isso significa que somente a transformação do comentário no Snowflake foi validada. Quaisquer outras instruções contidas no comentário não estão incluídas nesta avaliação de status.

Usos

A ferramenta identifica e marca as seguintes instruções:

CREATE STATEMENTS

Instruções CREATE incluirão tags em dois cenários:

  1. A instrução SQL não contém a propriedade COMMENT.

  2. A instrução SQL inclui uma propriedade COMMENT, mas nenhum valor foi atribuído a ela.

Se uma instrução SQL incluir um comentário, esse comentário será preservado durante o processo de conversão.

Exemplo

Entrada (Apache SparkSQL)

CREATE OR REPLACE VIEW some_view
AS
SELECT id, name FROM some_table WHERE some_column > 5;

CREATE OR REPLACE FUNCTION blue()
RETURNS STRING
LANGUAGE SQL
COMMENT ''
RETURN '0000FF';

CREATE TABLE my_varchar (
    COL1 VARCHAR(5)
) COMMENT 'The Table';
Copy

Saída (Snowflake SQL)

CREATE OR REPLACE VIEW some_view
COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":1,"minor":2,"patch":3},"attributes":{"language":"HiveSql"}}'
AS
SELECT
   id,
   name
FROM
   some_table
WHERE
   some_column > 5;
   
CREATE OR REPLACE FUNCTION blue()
RETURNS STRING LANGUAGE SQL
COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}'
RETURN '0000FF';

CREATE TABLE my_varchar
(COL1 VARCHAR(5))
COMMENT = 'The Table';
Copy

A formatação do código gerado pode parecer diferente do código-fonte devido a diferenças de formatação no arquivo original.


Create Table

Código de entrada (SparkSQL)

CREATE TABLE SOME_TABLE
(COL1 VARCHAR(5));
Copy

Código de saída (Snowflake SQL)

CREATE TABLE SOME_TABLEA
(COL1 VARCHAR(5))
COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}';
Copy

CREATE VIEW

Código-fonte (HiveSQL)

CREATE OR REPLACE VIEW experienced_employee
AS
SELECT id, name FROM all_employee
WHERE working_years > 5;
Copy

Código de saída (Snowflake SQL)

CREATE OR REPLACE VIEW experienced_employee
COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":1,"minor":2,"patch":3},"attributes":{"language":"HiveSql"}}'
AS
SELECT
   id,
   name
FROM
   all_employee
WHERE
   working_years > 5;
Copy

CREATE FUNCTION

Código de entrada (SparkSQL)

CREATE OR REPLACE FUNCTION blue()
RETURNS STRING
LANGUAGE SQL RETURN '0000FF';
Copy

Saída (Snowflake SQL)

CREATE OR REPLACE FUNCTION blue()
RETURNS STRING
LANGUAGE SQL
COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}'
RETURN '0000FF';
Copy

ALTER STATEMENTS

Instruções ALTER incluem uma tag quando a propriedade comment está vazia. Isso ocorre em dois cenários no SparkSQL:

  1. Ao usar SET TBLPROPERTIES com um comentário vazio

  2. Ao usar UNSET TBLPROPERTIES

Exemplos

SETTBLPROPERTIES (ALTERVIEW e ALTERTABLE)

Entrada (Apache Spark SQL)

ALTER TABLE SOME_TABLE SET TBLPROPERTIES ('comment'= ' ');
-- ALTER VIEW
ALTER VIEW SOME_VIEW SET TBLPROPERTIES ('comment'= ' ');
Copy

Saída (Snowflake SQL)

-- ALTER TABLE
ALTER TABLE SOME_TABLE
SET TBLPROPERTIES ('comment' = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}');

-- ALTER VIEW
ALTER VIEW SOME_VIEW
SET TBLPROPERTIES ('comment' = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}');

**Input (Apache HiveSQL)**

```{code} sql
:force:
-- ALTER TABLE
ALTER TABLE SOME_TABLE SET TBLPROPERTIES ('comment'= ' ');

-- ALTER VIEW
ALTER VIEW SOME_VIEW SET TBLPROPERTIES ('comment'= ' ');
Copy

Saída (Snowflake SQL)

-- ALTER TABLE
ALTER TABLE SOME_TABLE
SET TBLPROPERTIES ('comment' = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"HiveSql"}}');

-- ALTER VIEW
ALTER VIEW SOME_VIEW
SET TBLPROPERTIES ('comment' = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"HiveSql"}}');
Copy

UNSETTBLPROPERTIES (ALTERVIEW e ALTERTABLE)

Entrada (Apache Spark SQL)

-- ALTER TABLE
ALTER TABLE SOME_TABLE UNSET TBLPROPERTIES ('comment');

-- ALTER VIEW
ALTER VIEW SOME_VIEW UNSET TBLPROPERTIES ('comment');

**Output (Snowflake SQL)**

```{code} sql
:force:
-- ALTER TABLE
ALTER TABLE SOME_TABLE
UNSET TBLPROPERTIES ('comment')
ALTER TABLE SOME_TABLE
SET COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}'

-- ALTER VIEW
ALTER VIEW SOME_VIEW
UNSET TBLPROPERTIES ('comment')
ALTER VIEW SOME_VIEW
SET COMMENT = '{"origin":"sf_sit","name":"sma","version":{"major":0,"minor":0,"patch":0},"attributes":{"language":"SparkSql"}}'
Copy