AWS Schema Conversion Tool を使用して、BTEQ コマンドが埋め込まれているシェルスクリプトを Amazon Redshift RSQL に変換する - AWS Schema Conversion Tool

AWS Schema Conversion Tool を使用して、BTEQ コマンドが埋め込まれているシェルスクリプトを Amazon Redshift RSQL に変換する

AWS Schema Conversion Tool(AWS SCT) を使用して、Teradata ベーシックテラデータクエリ (BTEQ) コマンドが埋め込まれているシェルスクリプトを、Amazon Redshift RSQL コマンドが埋め込まれているシェルスクリプトに変換できます。

AWS SCT はシェルスクリプトから Teradata BTEQ コマンドを抽出し、Amazon Redshift と互換性のある形式に変換します。Teradata データベースを Amazon Redshift に移行すると、変換されたこれらのスクリプトを使用して新しい Amazon Redshift データベースを管理できます。

AWS SCT を使用して、Teradata BTEQ ETL スクリプトを含むファイルを Amazon Redshift RSQL に変換することもできます。詳細については、「AWS SCT を使用してテラデータ BTEQ スクリプトを Amazon Redshift RSQL に変換する」を参照してください。

Teradata BTEQ コマンドが埋め込まれたシェルスクリプトを AWS SCT プロジェクトに追加する

複数のスクリプトを単一の AWS SCT プロジェクトに追加できます。

シェルスクリプトを AWS SCT プロジェクトに追加するには
  1. AWS SCT で新しいプロジェクトを作成するか、既存のプロジェクトを開きます。詳細については、「AWS SCT でのプロジェクトの開始と管理」を参照してください。

  2. メニューから [ソースを追加] を選択し、次に [Teradata] を選択してソースデータベースをプロジェクトに追加します。詳細については、「Teradata データベース」を参照してください。

  3. メニューから [ターゲットを追加] を選択し、ターゲットの Amazon Redshift AWS SCT データベースをプロジェクトに追加します。

    仮想 Amazon Redshift ターゲットデータベースプラットフォームを使用できます。詳細については、「AWS Schema Conversion Tool の仮想ターゲットへのマッピング」を参照してください。

  4. ソース Teradata データベースと Amazon Redshift ターゲットを含む新しいマッピングルールを作成します。詳細については、「AWS Schema Conversion Tool での新しいデータ型のマッピング」を参照してください。

  5. [ビュー] メニューで、[メインビュー] を選択します。

  6. 左側のパネルで、[スクリプト] ノードを展開します。

  7. [シェル] を選択し、コンテキスト (右クリック) メニューを開いてから、[スクリプトのロード] を選択します。

  8. Teradata BTEQ コマンドが埋め込まれているソースシェルスクリプトの場所を入力し、[フォルダの選択] を選択します。

    AWS SCT[スクリプトのロード] ウィンドウが表示されます。

  9. 次のいずれかを行います:

    • シェルスクリプトに代替変数が含まれていない場合は、[代替変数なし] を選択し、[OK] を選択してスクリプトを AWS SCT プロジェクトに追加します。

    • シェルスクリプトに代替変数が含まれている場合は、代替変数を設定します。詳細については、「シェルスクリプトでの代替変数の設定」を参照してください。

AWS SCT を使用した埋め込み Teradata BTEQ コマンドを使用したシェルスクリプトでの置換変数の設定

シェルスクリプトには代替変数を含めることができます。たとえば、代替変数を含む単一のスクリプトを使用して、さまざまな環境のデータベースを管理できます。AWS SCT を使用して、シェルスクリプトで代替変数を設定できます。

シェルスクリプトから代替変数を使用して BTEQ コマンドを実行する前に、必ずこのシェルスクリプト内のすべての変数に値を割り当ててください。 AWS SCT が代替変数を解決および変換できるのは、値を割り当てた後のみです。

シェルスクリプトで代替変数を設定するには
  1. AWS SCTソースシェルスクリプトをプロジェクトに追加します。詳細については、「シェルスクリプトを AWS SCT プロジェクトに追加する」を参照してください。

    スクリプトを追加するときは、[代替変数が使用される] を選択します。

  2. [変数フォーマットの定義] には、スクリプト内のすべての代替変数と一致する正規表現を入力します。

    たとえば、代替変数の名前が ${ で始まり、} で終わる場合は、\$\{\w+\} 正規表現を使用します。ドル記号またはパーセント記号で始まる代替変数を照合するには、\$\w+|\%\w+ 正規表現を使用します。

    AWS SCT の正規表現は、Java の正規表現の構文に準拠しています。詳細については、Java ドキュメントの「java.util.regex クラスパターン」を参照してください。

  3. [OK] を選択してスクリプトを AWS SCT プロジェクトにロードし、[OK] を選択して [スクリプトのロード] ウィンドウを閉じます。

  4. [変数] を選択すると、検出されたすべての代替変数とその値が表示されます。

  5. [] には、代替変数の値を入力します。

AWS SCT を使用した、Teradata BTEQ コマンドが埋め込まれているシェルスクリプトの変換

以下では、AWS SCT を使用して Teradata BTEQ コマンドが埋め込まれているシェルスクリプトを、Amazon Redshift RSQL コマンドが埋め込まれているシェルスクリプトに変換する方法について説明します。

シェルスクリプトを変換するには
  1. シェルスクリプトを AWS SCT プロジェクトに追加します。詳細については、「シェルスクリプトを AWS SCT プロジェクトに追加する」を参照してください。

  2. 代替変数を設定します。詳細については、「シェルスクリプトでの代替変数の設定」を参照してください。

  3. 左側のパネルで、[スクリプト] ノードを展開します。

  4. 次のいずれかを行います:

    • 1 つのシェルスクリプトから BTEQ コマンドを変換するには、[シェル] ノードを展開し、変換するスクリプトを選択し、コンテキスト (右クリック) メニューから [スクリプトを変換] を選択します。

    • 複数のスクリプトを変換するには、変換するスクリプトをすべて選択してください。[シェル] を選択してコンテキスト (右クリック) メニューを開き、[スクリプトを変換] を選択します。

  5. [OK] を選択してください。

    AWS SCT は、選択したシェルスクリプト内の BTEQ コマンドを Amazon Redshift RSQL と互換性のある形式に変換します。変換されたスクリプトは、ターゲットデータベースパネルの [スクリプト] ノードにあります。

  6. 変換した Amazon Redshift RSQL スクリプトを編集するか、保存してください。詳細については、「変換されたシェルスクリプトの編集と保存」を参照してください。

AWS SCT を使用した、Teradata BTEQ コマンドが組み込まれたシェルスクリプトの管理

複数のシェルスクリプトを追加したり、AWS SCT プロジェクトからシェルスクリプトを削除したりできます。

新しいシェルスクリプトを AWS SCT プロジェクトに追加するには
  1. 左パネルの [スクリプト] ノードを展開します。

  2. [シェル] ノードを選択して、コンテキスト (右クリック) メニューを開きます。

  3. [スクリプトのロード] を選択します。

  4. 新しいシェルスクリプトを追加し、代替変数を設定するのに必要な情報を入力します。詳細については、「シェルスクリプトを AWS SCT プロジェクトに追加する」および「シェルスクリプトでの代替変数の設定」を参照してください。

AWS SCT プロジェクトからシェルスクリプトを削除するには
  1. 左パネルの [スクリプト] の下の [シェル] ノードを展開します。

  2. 削除するスクリプトを選択して、コンテキスト (右クリック) メニューを開きます。

  3. [スクリプトを削除] を選択します。

AWS SCT を使用してシェルスクリプト変換用の評価レポートを作成します。

シェルスクリプト変換評価レポートには、BTEQ コマンドと SQL ステートメントの変換に関する情報が記載されています。ソーススクリプトから Amazon Redshift RSQL と互換性のある形式への変換が行われます。評価レポートには、BTEQ コマンドのアクション項目と、AWS SCT で変換できない SQL ステートメントが含まれています。

シェルスクリプト変換評価レポートを作成するには
  1. 左パネルの [スクリプト] の下の [シェル] ノードを展開します。

  2. 変換するスクリプトを選択し、コンテキスト (右クリック) メニューを開いてから、[レポートの作成] を選択します。

  3. [概要] タブを表示します。[概要] タブには、シェルスクリプト評価レポートのエグゼクティブサマリーが表示されます。これには、ソーススクリプトからのすべての BTEQ コマンドと SQL ステートメントの変換結果が含まれます。

  4. (オプション) シェルスクリプト変換評価レポートのローカルコピーを PDF ファイルまたはカンマ区切り値 (CSV) のどちらかとして保存します。

    • シェルスクリプト変換評価レポートを PDF ファイルとして保存するには、右上の [PDF 二保存] を選択します。

      PDF ファイルには、スクリプト変換に関するエグゼクティブサマリー、アクション項目、推奨事項が含まれています。

    • シェルスクリプト変換評価レポートを CSV ファイルとして保存するには、右上の [CSV に保存] を選択します。

      CSV ファイルには、アクション項目、推奨アクション、およびスクリプトの変換に必要な推定手作業の複雑さが含まれています。

  5. [アクション項目] タブを選択します。このタブには、Amazon Redshift RSQL への手動変換が必要な項目のリストが含まれます。リストからアクション項目を選択すると、アクション項目が適用されるシェルスクリプトから、その項目が AWS SCT によって強調表示されます。

AWS SCT で変換された、シェルスクリプトの編集と保存

変換したスクリプトは AWS SCT プロジェクトの下部パネルで編集できます。AWS SCT は、プロジェクトの一部として編集されたスクリプトを保存します。

変換されたスクリプトを保存するには
  1. ターゲットデータベースパネルの [スクリプト] にある [RSQL スクリプト] ノードを展開します。

  2. 変換された、コンテキスト (右クリック) メニューを開いて、[スクリプトの保存] を選択します。

  3. 変換したスクリプトを保存するフォルダへのパスを入力し、[保存] を選択します。

    AWS SCT は変換したスクリプトをファイルに保存し、このファイルを開きます。