SnowConvert AI - Teradata - FLOAD¶
Teradata FLOAD ファイルをPythonに変換するための翻訳リファレンス
Teradata FastLoad は、Teradataデータベースの空のテーブルに大量のデータを素早くロードするためのコマンド駆動型ユーティリティです。
To simulate the FastLoad functionality for Teradata in Snowflake, FastLoad files and commands are transformed to Python code, similar to the transformations performed for BTEQ and MultiLoad scripts. The generated code uses the Snowflake Python project called snowconvert.helpers which contains the required functions to simulate the FastLoad statements in Snowflake.
FastLoad コマンド翻訳¶
FastLoad コマンド のほとんどはSnowflakeでは関係ないと考えられているため、これらのコマンドはコメントアウトされています。以下は、FastLoad コマンドの概要リストとSnowflakeへの変換ステータスです。
Teradata FastLoad コマンド |
変換ステータス |
注意 |
|---|---|---|
AXSMOD |
コメント済み |
|
変換済み |
関連する INSERT ステートメントで変換が行われるため、このノードはコメントアウトされます。 |
|
CLEAR |
コメント済み |
|
DATEFORM |
コメント済み |
|
変換済み |
|
|
変換済み |
BEGIN LOADING の変換には必要ないため、コメントアウトされます。 |
|
ERRLIMIT |
コメント済み |
|
HELP |
コメント済み |
|
HELP TABLE |
コメント済み |
|
変換済み |
BEGIN LOADING の一部として変換されます。 |
|
LOGDATA |
コメント済み |
|
LOGMECH |
コメント済み |
|
LOGOFF |
コメント済み |
|
LOGON |
コメント済み |
|
NOTIFY |
コメント済み |
|
OS |
コメント済み |
|
QUIT |
コメント済み |
|
RECORD |
コメント済み |
|
RUN |
コメント済み |
|
SESSIONS |
コメント済み |
|
変換済み |
|
|
SET SESSION CHARSET |
コメント済み |
|
SHOW |
コメント済み |
|
SHOW VERSIONS |
コメント済み |
|
SLEEP |
コメント済み |
|
TENACITY |
コメント済み |
|
デフォルトの変換¶
これらのステートメントに対する ConversionTool のデフォルト動作はコメントアウトです。例:
Teradata(FastLoad)
Snowflake(Python)
Nonetheless, there are some exceptions that must be converted to specific Python statements to work as intended in Snowflake.
埋め込み SQL¶
FastLoad スクリプトは、同じファイル内でTeradataステートメントをサポートします。これらのステートメントの大部分は、いくつかの例外を除いて、 BTEQ ファイル内にあるのと同じように変換されます。
エラーテーブルのドロップは、 FastLoad ファイル内の場合はコメントアウトされます。
Teradata(FastLoad)
Snowflake(Python)
大容量の例¶
上に示した様々なコマンドの変換を踏まえて、次の例を考えてみましょう。
Teradata(FastLoad)
Snowflake(Python)
この文書に関してご質問がある場合は、[snowconvert-support@snowflake.com](mailto:snowconvert-support@snowflake.com)まで電子メールをお送りください。
既知の問題¶
問題は見つかりませんでした。
BEGIN LOADING¶
コマンド BEGIN LOADING の変換は、その動作を正しくシミュレートするために、 DEFINE、 INSERT、(オプションで) SET RECORD コマンドを必要とするマルチパートの変換です。
この変換については、以下のサブセクションで詳しく説明します。
SET RECORD¶
上記の通り、このコマンドは BEGIN LOADING の変換には必要ありません。見つからない場合、デフォルトの区切り文字は','(コンマ)にセットされます。そうでない場合は、定義された区切り文字が使用されます。この値は ssc_set_record 変数に格納されます。
現在のところ、 SET RECORD VARTEXT、 SET RECORD FORMATTED、 SET RECORD UNFORMATTED のみがサポートされています。BINARY および TEXT キーワード指定の場合、代わりにエラー EWI が置かれます。
Teradata(FastLoad)
Snowflake(Python)
DEFINE¶
DEFINE コマンドの変換では、 ssc_define_columns と ssc_define_file 変数にそれぞれ列定義の値と BEGIN LOADING 変換で使用するファイルパスをセットします。
Teradata(FastLoad)
Snowflake(Python)
BEGIN LOADING¶
変換に関連する情報は、関連する INSERT ステートメントにあるので、BEGIN LOADING コマンドはコメントアウトされています。
ERRORFILES、 NODROP、 CHECKPOINT、 INDICATORS および DATAENCRYPTION の指定は変換に必要ないため、コメントアウトされています。
Teradata(FastLoad)
Snowflake(Python)
INSERT¶
関連する INSERT ステートメントの変換では、ロードする値を挿入する順序を決定するために使用される ssc_begin_loading_columns および ssc_begin_loading_values 変数の値をセットします。
Finally, these variables and the ones described in the above sections are used to call the BeginLoading.import_file_to_table function part of the SnowConvert.Helpers module. This function simulates the behavior of the whole FastLoad BEGIN LOADING process. To learn more about this function check here.
Teradata(FastLoad)
Snowflake(Python)
内部的には、 import_file_to_table 関数は仮ステージを作成し、指定されたテーブルにロードするためにローカルファイルをステージに置きます。ただし、ファイルは Snowflake がサポートするクラウドプロバイダーのいずれかに既に保存されている可能性があります。
| Stage | Input Data Place Holder |
|---|---|
| Stage | Input Data Place Holder |
| Internal stage | @my_int_stage |
| External stage | @my_int_stage/path/file.csv |
| Amazon S3 bucket | s3://mybucket/data/files |
| Google Cloud Storage | gcs://mybucket/data/files |
| Microsoft Azure | azure://myaccount.blob.core.windows.net/mycontainer/data/files |
この場合は、 import_file_to_table 関数に、 input_data_place_holder="<cloud_provider_path>" という追加パラメーターを手動で追加してください。例:
END LOADING¶
BEGIN LOADING の変換には必要ないため、END LOADING コマンドはコメントアウトされています。
Teradata(FastLoad)
Snowflake(Python)
既知の問題¶
1.BINARY および TEXT キーワード指定はサポートされていません
SET RECORD コマンドの BINARY および TEXT キーワード指定はまだサポートされていません。
2.VARTEXT の基本仕様のみサポートされています
TRIM や QUOTE のような SET RECORD VARTEXT の追加仕様はまだサポートされていません。
関連 EWIs¶
[SSC-FDM-0007](../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/generalFDM.md#ssc-fdm-0007):依存関係が欠落している要素。
SSC-FDM-0027: Removed next statement, not applicable in Snowflake.
[SSC-EWI-0021](../../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI.md#ssc-ewi-0021):サポート対象外です。
[SSC-FDM-TD0022](../../../general/technical-documentation/issues-and-troubleshooting/functional-difference/teradataFDM.md#ssc-fdm-td0022):シェル変数が見つかったため、このコードをシェルスクリプトで実行する必要があります。