SnowConvert AI - Teradata

Qu’est-ce que SnowConvert AI pour Teradata ?

SnowConvert AI est un logiciel qui comprend [Teradata SQL] (https://www.teradata.com/), BTEQ, et d’autres scripts spécifiques à Teradata (tels que les fichiers Fastload, Multiload, TPump et TPT) et convertit ce code source en code Snowflake avec les mêmes fonctions.

Types de conversion

Plus précisément, SnowConvert AI pour Teradata effectue les conversions suivantes :

Teradata SQL vers Snowflake SQL

SnowConvert AI comprend le code source Teradata et convertit le langage de définition des données (DDL), le langage de manipulation de données (DML), et les fonctions dans le code source en SQL correspondant dans la cible : Snowflake. SnowConvert AI peut migrer le code source vers l’une de ces trois extensions .sql, .dml, ddl

Procédures stockées Teradata en procédures JavaScript intégrées dans Snowflake SQL

SnowConvert AI prend des procédures stockées de Teradata (généralement écrites en SQL) et les convertit en JavaScript intégré à Snowflake SQL. Le langage CREATE PROCEDURE et REPLACE PROCEDURE de Teradata est remplacé par le langage CREATE OR REPLACE PROCEDURE de Snowflake. JavaScript est appelé en tant que langage de script, et toutes les instructions internes sont converties en JavaScript.

Teradata BTEQ, Fastload, Multiload, et TPT vers Python

Le langage Basic Teradata Query (BTEQ) est le langage de script propriétaire de Teradata. Tous les fichiers de script BTEQ seront convertis en scripts Python. Une classe d’aide sera appelée à partir des scripts convertis pour créer l’équivalence fonctionnelle entre la source et la cible. Vous pouvez trouver plus d’informations sur les Assistants Python sur notre page de référence de traduction. BTEQ peut être exécuté par lots depuis l’extérieur de l’environnement Snowflake. Découvrez comment ** vous pouvez connecter des scripts Python directement à Snowflake**.

Les fichiers BTEQ constituent également la base de nombreux autres types de données propriétaires créés par Teradata :

  • Fastload

  • Multiload

  • TPUMP

Chacun de ces types de fichiers est une extension de BTEQ. SnowConvert AI qui traduit chacun de ces types de fichiers en Python.

Chacune de ces conversions est optimisée pour vous donner la sortie la plus fonctionnelle équivalente, prête à être utilisée dans Snowflake. Pour plus d’informations sur la puissance de conversion dontSnowConvert AI est capable , vous pouvez en savoir plus sur notre outil en consultant notre page complète Guide de référence SQL.

Terminologie SnowConvert AI

Avant de nous perdre dans la magie de ces conversions de code, voici quelques termes/définitions afin que vous sachiez de quoi nous parlons lorsque nous commençons à les utiliser dans la documentation :

  • SQL (Structured Query Language) : langage standard pour stocker, manipuler et récupérer des données dans la plupart des architectures de bases de données modernes.

  • BTEQ (Basic Teradata Query) : BTEQ a été le premier utilitaire et outil de requête pour Teradata.

  • TPT (Teradata Parallel Transporter) : TPT est un outil de nouvelle génération qui vise à créer un outil unique pour toutes les activités liées au chargement et à l’exportation de données depuis/vers les bases de données Teradata.

  • SnowConvert AI : le logiciel qui convertit en toute sécurité et automatiquement vos fichiers de données Teradata vers la plateforme de données Cloud Snowflake.

  • Règle de conversion ou Règle de transformation : règles qui autorisent SnowConvert AI à convertir une partie du code source en code cible attendu.

  • Analyse : l’analyse est un processus initial effectué par SnowConvert AI pour comprendre le code source et construire une structure de données interne pour traiter les règles de conversion.

Dans les pages suivantes, vous en apprendrez plus sur le type de conversions dont SnowConvert AI pour Teradata est capable. Si vous êtes prêt à commencer, consultez la page Prise en main de cette documentation. Si vous souhaitez obtenir plus d’informations sur SnowConvert AI en général, consultez notre page d’informations SnowConvert AI pour Teradata.

Exemple de traduction

Instruction SQL Teradata

-- CREATE TABLE DDL
CREATE SET TABLE TABLE1,
    NO BEFORE JOURNAL,
    NO AFTER JOURNAL,
    CHECKSUM = DEFAULT,
    DEFAULT MERGEBLOCKRATIO
(
    COL1 VARCHAR(15) CHARACTER SET LATIN NOT CASESPECIFIC,
    Col2 BYTEINT CHECK ( CurrentFlag  IN (0 ,1 ) ) NOT NULL,
    COL3 DATE FORMAT 'yyyy-mm-dd',
    COL4 BLOB(2097088000),
    COL5 BYTEINT,
    COL7 INTEGER NOT NULL COMPRESS (1 ,2 ,3 ,4),
    COL8 INTERVAL HOUR(2) TO MINUTE
);

-- REPLACE VIEW DDL
REPLACE VIEW VIEW1 AS
SELECT * FROM TABLE1
UNION ALL
SELECT MAX(COL1) FROM TABLE1;
Copy

Code SQL Snowflake converti :

-- CREATE TABLE DDL
--** SSC-FDM-TD0024 - SET TABLE FUNCTIONALITY NOT SUPPORTED. TABLE MIGHT HAVE DUPLICATE ROWS **
CREATE OR REPLACE TABLE TABLE1
(
    COL1 VARCHAR(15) COLLATE 'en-cs',
    Col2 BYTEINT
                 !!!RESOLVE EWI!!! /*** SSC-EWI-0035 - CHECK STATEMENT NOT SUPPORTED ***/!!!
 CHECK ( CurrentFlag  IN (0 ,1 ) ) NOT NULL,
    COL3 DATE,
    COL4 BINARY /*** SSC-FDM-TD0001 - COLUMN CONVERTED FROM BLOB DATA TYPE ***/,
    COL5 BYTEINT,
    COL7 INTEGER NOT NULL,
    COL8 VARCHAR(21) !!!RESOLVE EWI!!! /*** SSC-EWI-0036 - INTERVAL HOUR(2) TO MINUTE DATA TYPE CONVERTED TO VARCHAR ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
;

-- REPLACE VIEW DDL
CREATE OR REPLACE VIEW VIEW1
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
AS
SELECT
    * FROM
    TABLE1
    UNION ALL
    SELECT
    MAX(COL1) FROM
    TABLE1;
Copy

Dans ce SQL converti, vous remarquerez que nous convertissons de nombreuses choses :

  • Ajout d’un schéma PUBLIC par défaut pour tous les noms de tables et de vues si l’utilisateur n’en spécifie pas (voir la section relative à la spécification d’un schéma).

  • CREATE SET TABLE à CREATE TABLE

  • REPLACE VIEW à CREATE OR REPLACE VIEW

  • Types de données : BLOB à BINARY et INTERVAL à VARCHAR

  • Attributs du type de données : NOT CASESPECIFIC à COLLATE

  • Suppression d’éléments de Teradata SQL qui ne sont pas nécessaires dans Snowflake en raison de l’architecture de Snowflake, tels que NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM, COMPRESS et DEFAULT MERGEBLOCKRATIO.