SnowConvert AI – Teradata

Was ist SnowConvert AI für Teradata?

SnowConvert AI ist eine Software, die Teradata SQL, BTEQ und andere Teradata-spezifische Skripte (z. B. Fastload, Multiload, TPump und TPT-Dateien) versteht und diesen Quellcode in funktional äquivalenten Snowflake-Code konvertiert.

Konvertierungstypen

SnowConvert AI für Teradata führt insbesondere die folgenden Konvertierungen durch:

Teradata SQL zu Snowflake SQL

SnowConvert AI versteht den Teradata-Quellcode und konvertiert die Data Definition Language (DDL), Data Manipulation Language (DML) und Funktionen im Quellcode in das entsprechende SQL im Ziel: Snowflake SnowConvert AI kann den Quellcode in jedem dieser drei Formate migrieren: .sql, .dml, ddl

Gespeicherte Teradata-Prozeduren in JavaScript, das in Snowflake SQL eingebettet ist

SnowConvert AI konvertiert gespeicherte Teradata-Prozeduren (i. d. R. geschrieben inSQL) in JavaScript, das in Snowflake SQL eingebettet ist. Die Teradata-Sprache CREATE PROCEDURE und REPLACE PROCEDURE wird durch die Snowflake-Sprache CREATE OR REPLACE PROCEDURE ersetzt. JavaScript wird als Skriptsprache aufgerufen, und alle inneren Anweisungen werden in JavaScript konvertiert.

Konvertierung von Teradata BTEQ, Fastload, Multiload und TPT in Python

Basic Teradata Query (BTEQ) ist die proprietäre Skriptsprache von Teradata. Alle BTEQ-Skriptdateien werden in Python-Skripte konvertiert. Aus den konvertierten Skripten wird eine Hilfsfunktionsklasse aufgerufen, um die funktionale Äquivalenz zwischen Quelle und Ziel herzustellen. Weitere Informationen zu den Python-Hilfsfunktionen finden Sie auf unserer Seite zu Übersetzungsreferenzen. BTEQ kann von außerhalb der Snowflake-Umgebung im Batch ausgeführt werden. Erfahren Sie mehr darüber, wie Sie Python-Skripte direkt mit Snowflake verbinden können.

BTEQ-Dateien sind auch die Grundlage für mehrere andere proprietäre Datentypen, die Teradata erstellt hat:

  • Fastload

  • Multiload

  • TPUMP

Jeder dieser Dateitypen ist eine Erweiterung von BTEQ. SnowConvert AI übersetzt jeden dieser Dateitypen in Python.

Jede dieser Konvertierungen ist so optimiert, dass Sie die funktional gleichwertigste Ausgabe erhalten, die Sie in Snowflake verwenden können. Weitere Informationen über die Leistungsfähigkeit der Art der Konvertierung, die SnowConvert AI bieten kann, sowie über unser Tool finden Sie in unserem vollständigen SQL-Referenzhandbuch.

SnowConvert AI – Terminologie

Bevor wir uns in der Magie dieser Codekonvertierungen verlieren, hier ein paar Begriffe/Definitionen, damit Sie wissen, was wir meinen, wenn wir sie in der gesamten Dokumentation verwenden:

  • SQL (Structured Query Language):_ Die Standardsprache zum Speichern, Bearbeiten und Abfragen von Daten in den meisten modernen Datenbankarchitekturen.

  • BTEQ (Basic Teradata Query): BTEQ war das erste Dienstprogramm und Abfragetool für Teradata.

  • TPT (Teradata Parallel Transporter): TPT ist ein Dienstprogramm der neuen Generation, das darauf abzielt, alle Aktivitäten im Zusammenhang mit dem Laden von Daten aus und dem Export der Daten in Teradata-Datenbanken zu erledigen.

  • SnowConvert AI: Software, die Ihre Teradata-Dateien sicher und automatisch für die Snowflake-Clouddatenplattform konvertiert.

  • Konvertierungsregel oder _Transformationsregel: Regeln, die SnowConvert AI die Konvertierung von einem Teil des Quellcodes in den erwarteten Zielcode erlauben.

  • Parsen: Parsen oder Parsing ist ein initialer Prozess, der von SnowConvert AI durchgeführt wird, um den Quellcode zu verstehen und eine interne Datenstruktur für die Verarbeitung der Konvertierungsregeln aufzubauen.

Auf den nächsten Seiten erfahren Sie mehr über die Arten von Konvertierungen, die SnowConvert AI für Teradata durchführen kann. Wenn Sie bereit sind, loszulegen, besuchen Sie die Seite Erste Schritte in dieser Dokumentation. Wenn Sie an weiteren Informationen über SnowConvert AI im Allgemeinen interessiert sind, besuchen Sie unsere Informationsseite SnowConvert AI für Teradata.

Übersetzungsbeispiel

Teradata SQL-Anweisung

-- 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

Der konvertierte Snowflake SQL-Code:

-- 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

In diesem konvertierten SQL werden Sie feststellen, dass wir viele Dinge konvertieren, wie z. B.:

  • Standardmäßiges Hinzufügen eines PUBLIC-Schemas für alle Tabellen- und Ansichtsnamen, wenn der Benutzer kein Schema angibt (erfahren sie, wie ein Schema angegeben wird).

  • CREATE SET TABLE in CREATE TABLE

  • REPLACE VIEW in CREATE OR REPLACE VIEW

  • Datentypen: BLOB in BINARY und INTERVAL in VARCHAR

  • Datentypattribute: NOT CASESPECIFIC in COLLATE

  • Entfernen von Teilen des Teradata SQL, die in Snowflake aufgrund der Architektur von Snowflake nicht erforderlich sind, wie NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM, COMPRESS und DEFAULT MERGEBLOCKRATIO.