SnowConvert AI - Teradata¶
SnowConvert AI for Teradataとは¶
SnowConvert AI is a software tool that understands Teradata SQL, BTEQ, and other Teradata-specific scripts (such as Fastload, Multiload, TPump, and TPT files) and converts this source code into functionally equivalent Snowflake code.
変換タイプ¶
具体的には、SnowConvert AI for Teradataは以下の変換を行います。
Teradata SQL からSnowflake SQL へ¶
SnowConvert AI は、Teradataのソースコードを理解し、ソースコード内のデータ定義言語(DDL)、データ操作言語(DML)、および関数を、ターゲットであるSnowflake内の対応する SQL に変換します。SnowConvert AI は、 .sql、.dml、ddl の3つの拡張子のソースコードを移行できます
TeradataストアドプロシージャからSnowflake SQL に組み込まれた JavaScript へ¶
SnowConvert AI は、Teradataストアドプロシージャ(通常は SQL で書かれている)を取得し、Snowflake SQL に埋め込まれた JavaScript に変換します。Teradataの CREATE PROCEDURE と REPLACE PROCEDURE 言語は、Snowflakeの CREATE OR REPLACE PROCEDURE 言語に置き換えられます。JavaScript はスクリプト言語として呼び出され、内部ステートメントはすべて JavaScript に変換されます。
Teradata BTEQ、Fastload、Multiload、および TPT からPythonへ¶
Basic Teradata Query(BTEQ)は、テラデータ独自のスクリプト言語です。すべての BTEQ スクリプトファイルはPythonスクリプトに変換されます。変換されたスクリプトからヘルパークラスが呼び出され、ソースとターゲットの機能的等価性が作成されます。Pythonヘルパーの詳細については、翻訳リファレンスページ をご覧ください。BTEQ はSnowflake環境外からバッチ実行できます。Pythonスクリプトを直接Snowflakeに接続する 方法の詳細についてご確認ください。
BTEQ データファイルは、Teradataが作成した他の複数の独自データ型の基盤でもあります。
Fastload
Multiload
TPUMP
これらのファイルタイプはそれぞれ、BTEQ の拡張です。SnowConvert AI はこれらの各ファイルタイプをPythonに変換します。
これらの変換はそれぞれ、Snowflakeで使用するために、最も機能的に等価な出力が得られるように最適化されています。SnowConvert AI が提供できる変換の威力について詳しくは、完全な SQL リファレンスガイド でツールの詳細をご確認ください。
SnowConvert AI の用語¶
これらのコード変換のマジックに没頭する前に、ここで用語/定義のいくつかを紹介し、さまざまなドキュメントでこれらが使用されるときにその意味が分かるようにしておきます。
SQL (構造化クエリ言語): 大半の現代的なデータベースアーキテクチャーにおけるデータの保存、操作、検索のための標準言語。
BTEQ(Basic Teradata Query): BTEQ は、Teradataの最初のユーティリティおよびクエリツールでした。
TPT (Teradata Parallel Transporter): TPT は、Teradataデータベースから、またはTeradataデータベースへのデータの読み込みとエクスポートに関連するすべてのアクティビティのためのワンストップツールを作成することを目的とした新世代のユーティリティツールです。
SnowConvert AI: Teradataファイルを安全かつ自動的にSnowflakeクラウドデータプラットフォームに変換するソフトウェア。
変換ルールまたは変換ルール: SnowConvert AI がソースコードの一部から期待されるターゲットコードに変換できるようにするルール。
パース: パースまたは構文解析は、SnowConvert AIがソースコードを理解し、変換ルールを処理するための内部データ構造を構築するために行われる初期処理です。
次の数ページでは、SnowConvert AI for Teradataで実行できる変換の種類について詳しく説明します。始める準備ができたら、このドキュメントの はじめるにあたり ページをご覧ください。SnowConvert AI に関する一般的な詳細情報については、 SnowConvert AI for Teradata の情報ページをご覧ください。
翻訳サンプル¶
Teradata SQL ステートメント
変換されたSnowflake SQL コード:
この変換された SQL では、次のような多くのものが変換されていることが分かります。
ユーザーがスキーマを指定しない場合(スキーマの指定方法を参照)、デフォルトですべてのテーブル名とビュー名に
PUBLICスキーマを追加。CREATE SET TABLEからCREATE TABLEへREPLACE VIEWからCREATE OR REPLACE VIEWへデータ型:
BLOBからBINARYへ、またINTERVALからVARCHARへデータ型属性:
NOT CASESPECIFICからCOLLATEへTeradata SQL のうち、
NO BEFORE JOURNAL、NO AFTER JOURNAL、CHECKSUM、COMPRESS、DEFAULT MERGEBLOCKRATIOなど、Snowflakeのアーキテクチャが原因のためにSnowflake内で不要な部分を削除。