SnowConvert: Teradata¶
특정 CLI 인자¶
다음 CLI 인자는 SnowConvert for Teradata 을 사용하여 마이그레이션을 실행하는 경우에만 해당됩니다
--displaceDatabaseAsSchema
¶
이 플래그는 -s
매개 변수와 함께 사용해야 합니다. 이 옵션을 사용하면 Snowflake 코드의 스키마가 되는 기본 동작과 달리, Teradata의 데이터베이스 이름 자격을 Snowflake의 데이터 웨어하우스로 유지합니다. -s customSchema
이 포함된 예제를 살펴보겠습니다.
SELECT * FROM databaseName.tableName;
-- Additional Params: -s customSchema
SELECT
* FROM
customSchema.tableName;
-- Additional Params: -s customSchema --displaceDatabaseAsSchema
SELECT
* FROM
databaseName.customSchema.tableName;
--CharacterToApproximateNumber <NUMBER>
¶
CHARACTER 에서 대략적인 숫자로 변환하는 정수 값입니다(기본값: 10
).
--DefaultDateFormat <STRING>
¶
기본 DATE 형식의 문자열 값(기본값: "YYYY/MM/DD"
).
--DefaultTimeFormat <STRING>
¶
기본 TIME 형식의 문자열 값(기본값: "HH:MI:SS"
).
--DefaultTimestampFormat <STRING>
¶
기본 TIMESTAMP 형식의 문자열 값(기본값: "YYYY/MM/DD HH:MI:SS"
).
--DefaultTimezoneFormat <STRING>
¶
기본 TIMEZONE 형식의 문자열 값(기본값: "GMT-5"
).
-p, --scriptTargetLanguage <TARGET_LANGUAGE>
¶
문자열 값은 Bteq 및 Mload 스크립트 파일을 변환할 대상 언어를 지정합니다. 현재 지원되는 값은 SnowScript 및 Python 입니다. 기본값은 Python 로 설정됩니다.
-n, --SessionMode <SESSION_MODE>
¶
SnowConvert 는 TERA 및 ANSI 모드 모두에서 Teradata 코드를 처리합니다. 현재 이는 문자 데이터의 기본 대/소문자 사양과 비교에 영향을 미치는 방식으로 제한되어 있습니다.
문자열 값은 입력 코드의 세션 모드를 지정합니다. 현재 지원되는 값은 TERA 및 ANSI 입니다. 기본값은 TERA 로 설정됩니다.
세션 모드에 따라 SnowConvert 가 코드를 처리하고 변환하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
--replaceDeleteAllToTruncate
¶
모두 삭제 문을 잘라내기로 대체할지 여부를 나타내는 플래그입니다. 교체가 완료되면 SSC-EWI-TD0037 이 생성됩니다. 예:
create table testTable(
column1 varchar(30)
);
delete testTable all;
delete from testTable;
CREATE OR REPLACE TABLE testTable (
column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
DELETE FROM testTable;
DELETE FROM
testTable;
-- Additional Params: --replaceDeleteAllToTruncate
CREATE OR REPLACE TABLE testTable (
column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
TRUNCATE TABLE testTable;
DELETE FROM
testTable;
--splitPeriodDatatype
¶
이 플래그는 도구가 PERIOD
데이터 타입의 사용을 원래 기간 시작 및 종료 값을 보유하는 2개의 개별 DATETIME
필드로 마이그레이션해야 함을 나타내는 데 사용되며, 이 플래그 SSC-FDM-TD0004 를 사용하여 기간 필드 또는 함수를 마이그레이션할 때마다 이 변경 사항에 대해 경고하는 메시지가 추가됩니다.
CREATE TABLE myTable(
col1 PERIOD(DATE),
col2 VARCHAR(50),
col3 PERIOD(TIMESTAMP)
);
CREATE OR REPLACE TABLE myTable (
col1 VARCHAR(24) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!,
col2 VARCHAR(50),
col3 VARCHAR(58) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
-- Additional Params: --splitPeriodDatatype
CREATE OR REPLACE TABLE myTable (
col1_begin DATE,
col1_end DATE /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/,
col2 VARCHAR(50),
col3_begin TIMESTAMP,
col3_end TIMESTAMP /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
--arrange
¶
입력 코드를 구문 분석 및 변환 전에 처리할지 여부를 나타내는 플래그입니다.
--RenamingFile
¶
테이블, 뷰, 프로시저, 함수 및 매크로와 같은 특정 오브젝트에 대한 새 이름을 지정하는 .json 파일의 경로입니다. 이 매개 변수는 customSchema
인자와 함께 사용할 수 없습니다. 이 인자에 대해 자세히 알아보려면 이름 바꾸기 기능을 참조하십시오.
--UseCollateForCaseSpecification
¶
이 플래그는 COLLATE 또는 UPPER 를 사용하여 대/소문자 사양 기능을 유지(예: CASESPECIFIC 또는 NOT CASESPECIFIC)할지 여부를 나타냅니다. 기본적으로 이 함수는 꺼져 있으므로 UPPER 함수를 사용하여 대/소문자 구분을 에뮬레이션합니다(NOT CASESPECIFIC). SnowConvert 가 대/소문자 사양을 처리하는 방법에 대해 자세히 알아보려면 여기를 확인하십시오.