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 문은 두 가지 시나리오에서 태그를 포함합니다.
SQL 문에 COMMENT 속성이 누락되었습니다.
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';
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';
원본 파일의 형식 차이로 인해 생성된 코드의 형식이 소스 코드와 다르게 표시될 수 있습니다.
Create Table ¶
Input code (SparkSQL)
CREATE TABLE SOME_TABLE
(COL1 VARCHAR(5));
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"}}';
CREATE VIEW ¶
Source Code (HiveSQL)
CREATE OR REPLACE VIEW experienced_employee
AS
SELECT id, name FROM all_employee
WHERE working_years > 5;
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;
CREATE FUNCTION ¶
Input code (SparkSQL)
CREATE OR REPLACE FUNCTION blue()
RETURNS STRING
LANGUAGE SQL RETURN '0000FF';
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';
ALTER STATEMENTS¶
ALTER 문에는 설명 속성이 비어 있는 경우 태그가 포함됩니다. 이는 SparkSQL 의 두 가지 시나리오에서 발생합니다.
빈 설명과 함께
SET TBLPROPERTIES
사용 시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'= ' ');
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'= ' ');
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"}}');
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"}}'