Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
classcontents

概要

Yellowfinでは、SQLデータベースOutput Step(出力ステップ)を通して、変換したデータをデータベーステーブルへ保存することができます。こちらのステップの設定をするためには、対象のデータベースやテーブル、必要な更新のタイプ、マッピングするフィールドなど、関連する様々な設定を定義しなくてはいけません。こちらの項目では、それぞれの詳細について紹介します。Yellowfinでは、SQLデータベースにアウトプットすることで、トランスフォーメーションしたデータをデータベーステーブルへ保存することができます。こちらのステップの設定をするためには、対象のデータベースやテーブル、必要な更新のタイプ、マッピングするフィールドなど、関連する様々な設定を定義しなくてはいけません。こちらの項目では、それぞれの詳細について紹介します。

 

Image RemovedImage Added

Anchor
警告
警告

Warning
title警告

既存のソースデータを上書きしないために、Output Step(出力ステップ)の設定時には、細心の注意が必要です。データベースへのOutput Step(出力ステップ)には様々なオプションがあり、テーブルの削除、データの削除、新規ロウ(行)の追加、既存データの更新などを行うことができます。データ変換フローの構築には、テスト環境の使用をお勧めします。また、編集モードの場合、デフォルトでOutput Step(出力ステップ)は無効に設定されています(デザインモードオプションでの実行を参照してください)既存のソースデータを上書きしないために、アウトプットステップの設定時には、細心の注意が必要です。データベースへのアウトプットステップには様々なオプションがあり、テーブルの削除、データの削除、新規ロウ(行)の追加、既存データの更新などを行うことができます。変換フローの構築には、テスト環境の使用をお勧めします。また、編集モードの場合、デフォルトでアウトプットステップは無効に設定されています(デザインモードオプションでの実行を参照してください)

 

オプションの理解

テーブル作成オプション

テーブル作成タイプ説明
Use Existing(既存を使用)既存を使用選択した既存のテーブルへデータを保存します。
Create If Not Exists(既存が無い場合に作成)存在しない場合に作成する指定したテーブルが存在しない場合は、新規作成をし(または、作成された後に)、データを保存します。
Drop Existing(既存を削除)既存をドロップ既存のテーブルを削除し、常に新規作成をします。このオプションは、既存のデータを保持する必要が無い場合にのみ使用してください。
Drop If Metadara Conflict(メタデータの競合があれば削除)変換フローとテーブルのデータ間のメタデータに競合がある場合(競合とは、フローファイル内のフィールド/カラム(列)数が、テーブル内と異なる場合や、データタイプが異なる場合などを指します)、テーブルを削除し、新規作成をすることでデータを保存します。競合が無い場合は、既存のテーブルを使用します。メタデータに矛盾がある場合にドロップ変換フローとテーブルのデータ間のメタデータに矛盾がある場合(矛盾とは、フローファイル内のフィールド/カラム(列)数が、テーブル内と異なる場合や、データ型が異なる場合などを指します)、テーブルを削除し、新規作成をすることでデータを保存します。矛盾が無い場合は、既存のテーブルを使用します。このオプションは、既存のデータを保持する必要が無い場合にのみ使用してください。
Tip

多くの場合は、「Use Existing(既存を使用)既存を使用」をオプションを使用します。データベース管理者は、データ変換の対象になるテーブルを作成し、関連するセキュリティアクセスを割り当てます。

Note

稀に、対象のテーブルが存在しない場合があります。この時適切なセキュリティアクセス権が付与されていれば、Yellowfinがテーブルを作成します。Create If Not Exists(既存が無い場合に作成)オプションは、指定したテーブルが存在しない場合にテーブルを作成します。これは通常、データ変換フローを初めて実行する場合に発生し、その後は既存のテーブルが使用されることになります。Drop Existing(既存を削除)は、常にテーブルを削除し、新しく作成します。テーブルに保存されている可能性のあるデータをすべて削除するので、使用には細心の注意が必要です。Drop If Metadara Conflict(メタデータの競合があれば削除)も同様に、テーブル構造とフロー内に含まれるデータに相違がある場合は、テーブルを削除し、新しく作成します。このオプションもデータを削除するため、存在しない場合に作成するオプションは、指定したテーブルが存在しない場合にテーブルを作成します。これは通常、変換フローを初めて実行する場合に発生し、その後は既存のテーブルが使用されることになります。既存をドロップは、常にテーブルを削除し、新しく作成します。テーブルに保存されている可能性のあるデータをすべて削除するので、使用には細心の注意が必要ですメタデータに矛盾がある場合にドロップも同様に、テーブル構造とフロー内に含まれるデータに相違がある場合は、テーブルを削除し、新しく作成します。このオプションもデータを削除するため、使用には細心の注意が必要です

 

...

更新タイプ

更新のタイプ更新タイプ説明
Insert(挿入)挿入既存のデータの最後にデータを追加をします。
Truncate(置き換え)切り捨て既存のすべてのデータを新しい値に置き換えます。これは既存のデータを削除するので、使用には細心の注意が必要です。
Update(更新)データ変換フローに存在するロウ(行)と一致するデータベース内のフィールドの値を更新します。このオプションは既存のデータを上書きするため、使用には細心の注意が必要です。
Update & Insert(更新と挿入)データ変換フローに存在するロウ(行)を一致するデータベース内のフィールドの値を更新します。このオプションは既存のデータを上書きするため、使用には細心の注意が必要です。一致するロウ(行)が存在しない場合は、新規ロウ(行)を挿入します。

...

更新変換フローに存在するロウ(行)と一致するデータベース内のフィールドの値を更新します。このオプションは既存のデータを上書きするため、使用には細心の注意が必要です。
更新して挿入変換フローに存在するロウ(行)が一致するデータベース内のフィールドの値を更新します。このオプションは既存のデータを上書きするため、使用には細心の注意が必要です。一致するロウ(行)が存在しない場合は、新規ロウ(行)を挿入します。

ステップの設定

SQLアウトプットステップにトランスフォーメーションしたデータを保存する準備ができたら、以下の手順に従います。

  1. 変換フロービルダーの画面左側からアウトプットステップボタンをクリックして、すべてのステップを表示します。
  2. 一覧から「SQLデータベースにアウトプット」ステップをキャンバスへドラッグします。

    Image Added

  3. ステップをクリックして、変換フローパネルに設定詳細を表示します。
  4. 一覧からデータベースを選択します。書き込み可能なデータソースのみが表示されます。
  5. テーブル作成オプションを選択します。テーブル作成オプションの詳細は、こちらを参照してください。
    Image Removed
    Image Added

  6. 選択したプロセスを継続します。
    1. Use Existing(既存を使用)既存を使用」を選択した場合、データを保存する既存のテーブルを選択し、手順4へ進みます。
    2. Create If Not Exists(既存が無い場合に作成)存在しない場合に作成する」を選択した場合、新規テーブル名を入力します。オプション設定として、インデックスに使用するテーブルフィールドを選択することができます(注意:インデックスは、クエリーパフォーマンスを改善するために使用します。こちらのオプションを使用するべきか不明な場合は、システム管理者に問い合わせをしてください)。手順4へ進みます。
      Image Removed
      Image Added

    3. Drop Existing(既存を削除)既存をドロップ」を選択した場合、新規テーブル名を入力し、手順5へ進みます。
    4. Drop If Metadara Conflict(メタデータの競合があれば削除)」を選択した場合、新規テーブル名を入力し、データ変換フローに存在するフィールドが、テーブル内よりも多い場合に、既存のテーブルを削除するかどうかを指定します。手順4へ進みます。
    更新のタイプから、テーブルの更新方法を選択します。すべてのオプションの詳細は、
    1. メタデータに矛盾がある場合にドロップ」を選択した場合、新規テーブル名を入力し、変換フローに存在するフィールドが、テーブル内よりも多い場合に、既存のテーブルを削除するかどうかを指定します。手順4へ進みます。
  7. 更新タイプから、テーブルの更新方法を選択します。すべてのオプションの詳細は、こちらを参照してください。
     

    Note

    Update(更新)更新」、または「Update & Insert(更新と挿入)」オプションを使用する場合、さらにロウ(行)の一致が要求されます。これは、識別子に「Join(参加)」を選択するか、一致するフィールドを選択し、更新するフィールドを指定することで行われます。何も選択されていない場合は、フィールドはフローの一部としてJoin(参加)、または更新に使用されることはありません。更新して挿入」オプションを使用する場合、さらにロウ(行)の一致が要求されます。これは、識別子に「参加」を選択するか、一致するフィールドを選択し、更新するフィールドを示すように「設定」することで行われます。何も選択されていない場合は、フィールドはフローの一部として参加、または更新に使用されることはありません。

     

    Image RemovedImage Added

     

  8. このOutput Step(出力ステップ)をデザインモードで実行するには、トグルスイッチを有効にします。このアウトプットステップをデザインモードで実行するには、トグルスイッチを有効にします。警告を参照してください。
    Image Removed
    Image Added

  9. 設定が完了したら、「Apply(適用)適用」ボタンをクリックして、設定内容を保存します。