SnowConvert: Teradata¶
Argumentos específicos da CLI¶
Os seguintes argumentos da CLI são específicos para a execução de migrações com o SnowConvert para Teradata
--displaceDatabaseAsSchema
¶
Esse sinalizador deve ser usado com o parâmetro -s
. Quando usado, ele manterá a qualificação do nome do banco de dados do Teradata como o data warehouse do Snowflake, ao contrário do comportamento padrão, em que ele se torna um esquema no código do Snowflake. Vejamos um exemplo em que -s customSchema
está incluído:
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 padrão TIME (Padrão: "HH:MI:SS"
).
--DefaultTimestampFormat <STRING>
¶
Valor da cadeia de caracteres para o formato padrão TIMESTAMP (Padrão: "YYYY/MM/DD HH:MI:SS"
).
--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 manipula o código Teradata nos modos TERA e ANSI. Atualmente, isso se limita à especificação do caso 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.
Você pode saber mais sobre como o SnowConvert trata e converte o código dependendo do modo de sessão, veja 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
¶
Esse sinalizador indica se você deve usar COLLATE ou UPPER para preservar a funcionalidade de especificação de maiúsculas e minúsculas, por exemplo, CASESPECIFIC ou NOT CASESPECIFIC. Por padrão, ela está desativada, o que significa que a função UPPER será usada para emular a insensibilidade a maiúsculas e minúsculas (NOT CASESPECIFIC). Para saber mais sobre como a especificação de casos é tratada pelo SnowConvert, veja aqui.