Snowpark Migration Accelerator: SQL 문

태그가 지정된 요소

SQL 문에 태그를 지정하여 사용량과 소비량을 모니터링합니다.

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

참고

설명이 “FUNCTIONAL EQUIVALENT”로 표시되어 있으면 해당 설명이 Snowflake로 변환된 부분만 유효성이 검사되었음을 의미합니다. 댓글에 포함된 다른 문은 이 상태 평가에 포함되지 않습니다.

사용량

이 도구는 다음 문을 식별하고 태그합니다.

CREATE STATEMENTS

CREATE 문은 두 가지 시나리오에서 태그를 포함합니다.

  1. SQL 문에 COMMENT 속성이 누락되었습니다.

  2. SQL 문에 COMMENT 속성이 포함되어 있지만, 값이 할당되지 않았습니다.

SQL 문에 설명이 포함된 경우 변환 프로세스 중에 설명이 보존됩니다.

예시

Input (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

Output (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

원본 파일의 형식 차이로 인해 생성된 코드의 형식이 소스 코드와 다르게 표시될 수 있습니다.


Create Table

Input code (SparkSQL)

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

Output code (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

Source Code (HiveSQL)

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

Output code (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

Input code (SparkSQL)

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

Output (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

ALTER 문에는 설명 속성이 비어 있는 경우 태그가 포함됩니다. 이는 SparkSQL 의 두 가지 시나리오에서 발생합니다.

  1. 빈 설명과 함께 SET TBLPROPERTIES 사용 시

  2. UNSET TBLPROPERTIES 사용 시

SET TBLPROPERTIES (ALTER VIEW 및 ALTER TABLE)

Input (Apache Spark SQL)

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

Output (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

Output (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

UNSET TBLPROPERTIES (ALTER VIEW 및 ALTER TABLE)

Input (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