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:
A instrução SQL não contém a propriedade COMMENT.
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';
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';
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));
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"}}';
CREATE VIEW ¶
Código-fonte (HiveSQL)
CREATE OR REPLACE VIEW experienced_employee
AS
SELECT id, name FROM all_employee
WHERE working_years > 5;
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;
CREATE FUNCTION ¶
Código de entrada (SparkSQL)
CREATE OR REPLACE FUNCTION blue()
RETURNS STRING
LANGUAGE SQL RETURN '0000FF';
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';
ALTER STATEMENTS¶
Instruções ALTER incluem uma tag quando a propriedade comment está vazia. Isso ocorre em dois cenários no SparkSQL:
Ao usar
SET TBLPROPERTIES
com um comentário vazioAo 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'= ' ');
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'= ' ');
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"}}');
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"}}'