SnowConvert AI - Teradata¶
Argumentos específicos da CLI¶
Os seguintes argumentos de CLI são específicos para executar migrações com o SnowConvert AI para Teradata
--displaceDatabaseAsSchema¶
This flag must be used with the -s parameter. When used it will maintain Teradata’s database name qualification as Snowflake’s data warehouse, contrary to its default behavior where it becomes a schema on Snowflake code. Let’s look at an example where -s customSchema is included:
SELECT * FROM databaseName.tableName;
-- Additional Params: -s customSchema
SELECT
* FROM
customSchema.tableName;
-- Additional Params: -s customSchema --displaceDatabaseAsSchema
SELECT
* FROM
databaseName.customSchema.tableName;
--CharacterToApproximateNumber <NUMBER>¶
Um valor inteiro para a transformação de CHARACTER em número aproximado (Padrão: 10).
--DefaultDateFormat <STRING>¶
Valor da cadeia de caracteres para o formato padrão DATE (Padrão: "YYYY/MM/DD").
--DefaultTimeFormat <STRING>¶
Valor da cadeia de caracteres para o formato TIME padrão (Padrão: "HH:MI:SS.FF6").
--DefaultTimestampFormat <STRING>¶
Valor da cadeia de caracteres para o formato TIMESTAMP padrão (padrão: "YYYY/MM/DD HH:MI:SS.FF6").
--DefaultTimezoneFormat <STRING>¶
Valor da cadeia de caracteres para o formato padrão TIMEZONE (Padrão: "GMT-5").
-p, --scriptTargetLanguage <TARGET_LANGUAGE> ¶
O valor da cadeia de caracteres especifica a linguagem de destino para converter os arquivos de script Bteq e Mload. Os valores atualmente suportados são SnowScript e Python. O valor padrão é definido como Python.
-n, --SessionMode <SESSION_MODE> ¶
O SnowConvert AI trata o código Teradata nos modos TERA e ANSI. Atualmente, isto está limitado à especificação de maiúsculas/minúsculas padrão dos dados de caracteres e como isso afeta as comparações.
O valor da cadeia de caracteres especifica o modo de sessão do código de entrada. Os valores suportados atualmente são TERA e ANSI. O valor padrão é definido como TERA.
Para saber mais sobre como o SnowConvert AI trata e converte código dependendo do modo de sessão, consulte aqui.
--replaceDeleteAllToTruncate¶
Sinalizador para indicar se as instruções Delete All devem ser substituídas por Truncate ou não. Isso gerará SSC-EWI-TD0037 quando a substituição for feita. Exemplo:
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¶
Esse sinalizador é usado para indicar que a ferramenta deve migrar qualquer uso do tipo de dados PERIOD como dois campos DATETIME separados que manterão os valores originais de início e fim do período. Sempre que um campo ou função de período for migrado usando esse sinalizador, SSC-FDM-TD0004 serão adicionados para alertar sobre essa alteração.
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¶
Sinalizador para indicar se o código de entrada deve ser processado antes da análise e da transformação.
--RenamingFile¶
O caminho para um arquivo .json que especifica novos nomes para determinados objetos, como tabelas, visualizações, procedimentos, funções e macros. Esse parâmetro não pode ser usado com o argumento customSchema. Navegue até Recurso de renomeação para saber mais sobre esse argumento.
--UseCollateForCaseSpecification¶
Este sinalizador indica se será usado COLLATE ou UPPER para preservar a funcionalidade da especificação de maiúsculas/minúsculas, por exemplo CASESPECIFIC ou NOT CASESPECIFIC. Por padrão, ele é desativado, o que significa que a função UPPER será usada para emular a não diferenciação entre maiúsculas e minúsculas (NOT CASESPECIFIC). Para saber mais sobre como a especificação de maiúsculas/minúsculas é tratada pelo SnowConvert AI, consulte aqui.