データ・フローの作成

データ・フローでは、異なるシステム間でのデータの移動および変換方法を定義します。

データ変換のデータ・フローは、結合、フィルタ、集計、設定、分割などのコンポーネントのフローを介してソースを接続します。詳細は、サポートされているデータベース関数を参照してください。

データ・フローを実行すると、データ変換では結合、フィルタ、マッピングおよび制約を使用してソース・データを変換し、ターゲット表にロードします。実行フローは1回に1つしか実行できないことに注意してください。1つのデータ・フローに複数のフローを置くことはできません。また、1つのフローを複数のフローに分散することはできません。

データ・フローは、次のいずれかの方法で作成できます:

新しく作成されたデータ・フローが、関連付けられたプロジェクトの「データ・フロー」ページに表示されます。選択したデータ・フローの横にある「アクション」アイコン(「アクション」アイコン)をクリックして、フォルダの編集、名前変更、コピー、変更、開始、エクスポートまたは削除を行います。

「プロジェクト」ページから

「プロジェクト」ページからデータ・フローを作成するには、

  1. 「プロジェクト」ページで、「データ・フローの作成」をクリックします。

    「データ・フローの作成」ページが表示されます:

  2. 「名前」フィールドに、新しいデータ・フローの名前を入力します。
  3. 新しく作成されるデータ・フローに新しいプロジェクト・フォルダを作成する場合は、「新規プロジェクトの作成」を選択します。
  4. または、新しく作成されたデータ・フローを既存のプロジェクト・フォルダに追加するには、「既存プロジェクトに追加」をクリックします。
  5. 前のオプションで「新規プロジェクトの作成」を選択した場合は、「プロジェクト名」フィールドに、新しく作成されるプロジェクトの名前を入力します。
  6. または、前のオプションで「既存プロジェクトに追加」を選択した場合は、「プロジェクト名」ドロップダウン矢印から必要なプロジェクトを選択します。
  7. 「説明」フィールドに、新しく作成されるデータ・フローの説明を入力します。
  8. 「作成」をクリックします

プロジェクト内の「データ・フロー」ページから

プロジェクト内の「データ・フロー」ページからデータ・フローを作成するには、

  1. 「プロジェクト」ページで、新しいデータ・フローを作成するプロジェクト・タイルをクリックします。「プロジェクト詳細」ページが表示されます。
  2. 「データ・フロー」ページで、「データ・フローの作成」をクリックします。
  3. 新しいデータ・フローの名前および説明を指定します。
  4. 「次へ」をクリックします
  5. ソース接続を定義するには、「接続」ドロップダウンから、データ・エンティティの追加元となる必要な接続を選択します。
  6. 「スキーマ」ドロップダウンに、選択した接続に対応するすべてのスキーマが2つのグループで表示されます:
    • 既存のスキーマ(Oracle Data Transformsにインポートしたスキーマ)および
    • 新規データベース・スキーマ(まだインポートしていないスキーマ)。

    使用するスキーマをドロップダウンから選択します。Oracle Object Storage接続の場合、「スキーマ」ドロップダウンには、接続の作成時にURLで指定したバケットの名前がリストされます。

  7. 「保存」をクリックします。

    新しいデータ・フローを作成できます。

ホーム・ページから

ホーム・ページからデータ・フローを作成するには、

  1. ホーム・ページで、「データの変換」をクリックします。「データ・フローの作成」ページが表示されます。
  2. 新しいデータ・フローの名前および説明を指定します。
  3. ドロップダウンからプロジェクト名を選択します。または、「+」アイコンをクリックしてプロジェクトを作成します。
  4. 「次へ」をクリックします
  5. 「接続」ドロップダウンから、データ・エンティティの追加元となる必要な接続を選択します。または、「+」アイコンをクリックして新しい接続を作成します。
  6. 「スキーマ」ドロップダウンに、選択した接続に対応するすべてのスキーマが2つのグループで表示されます:
    • 既存のスキーマ(Oracle Data Transformsにインポートしたスキーマ)および
    • 新規データベース・スキーマ(まだインポートしていないスキーマ)。

    使用するスキーマをドロップダウンから選択します。

  7. 「保存」をクリックします

データ・フロー・エディタについて

データ・フロー・エディタは、データ・エンティティ・パネル、データベース関数ツールバー、デザイン・キャンバス、プロパティ・パネルおよびステータス・パネルという5つの部分に分かれています。


datafloweditor.pngの説明が続きます

  • データ・エンティティ・パネル: データ・エンティティ・パネルには、データ・フローで使用できるデータ・エンティティが表示されます。表示されたリストは、「名前」および「タグ」フィールドを使用してフィルタできます。このパネルには、スキーマの追加、データ・エンティティのインポート、データ・フローに関連付けられたスキーマの削除、およびデータ・エンティティのリフレッシュが可能なオプションが含まれています。これらのオプションの使用方法の詳細は、コンポーネントの追加を参照してください。
  • データベース機能ツールバー: データベース機能ツールバーには、データ・フローで使用できるデータベース機能が表示されます。データ・エンティティと同様に、使用するデータベース・ツールをデザイン・キャンバスにドラッグ・アンド・ドロップできます。詳細は、サポートされているデータベース関数を参照してください。
  • デザイン・キャンバス: デザイン・キャンバスは、変換ロジックを構築する場所です。データ・エンティティおよびデータベース関数をデザイン・キャンバスに追加すると、それらを論理的な順序で接続してデータ・フローを完了できます。
  • プロパティ・パネル: プロパティ・パネルには、デザイン・キャンバスで選択したオブジェクトのプロパティが表示されます。プロパティ・パネルは、4つのタブにグループ化されています。「General」「Attributes「Preview Data」「Column Mapping」および「Options」。タブは選択したオブジェクトに基づいて異なるため、すべてのタブは使用できません。これらのオプションの詳細は、コンポーネント・プロパティを参照してください。
  • ステータス・パネル: データ・フローを実行すると、ステータス・パネルに、リクエストを完了するためにバックグラウンドで実行されているジョブのステータスが表示されます。現在実行中のジョブのステータスまたは最後のジョブのステータスを確認できます。「ステータス」パネルの詳細は、「データ・ロード、データ・フローおよびワークフローのステータスのモニター」を参照してください。

必要なデータ・フローを設計した後、

  • 保存アイコンをクリックして、作成/設計したデータ・フローを保存します。
  • 設計したデータ・フローのノードを配置するには、「自動レイアウト」アイコンをクリックします。
  • 作成したデータ・フローを実行するには、「実行」アイコンをクリックします。
  • 「検証」アイコンをクリックして、作成したデータ・フローを検証します。
  • 「ズームイン」および「ズームアウト」アイコンをクリックして、デザイン・キャンバスで作成したデータ・フロー・ダイアグラムを最大化または最小化します。

サポートされているデータベース関数

Oracle Data Transformsは、デザイン・キャンバスにドラッグ・アンド・ドロップしてデータ・フロー内のコンポーネントを接続できる様々なデータベース機能をサポートしています。

データ・フロー・エディタのデータベース機能ツールバーには、データ・フローで使用できる次のデータベース機能が含まれています。

  1. データ変換

    次のコンポーネントが含まれます。

    • 集計
    • フィルタ
    • 結合
    • 固有
    • 検索
    • 設定
    • ソート
    • 副問合せフィルタ
    • テーブル・ファンクション
  2. データ準備

    次のコンポーネントが含まれます。

    • データ整理
    • 置換
    • Equi_Widthビニング
    • 分位ビニング
    • 先リード
    • Lag
    • 置換
  3. 機械学習

    次のコンポーネントが含まれます。

    • 予測
    • 外れ値の検出
  4. テキスト

    次のコンポーネントが含まれます。

    • 正規表現数
    • 正規表現手段
    • 正規表現サブスト
    • 正規表現置換
    • 距離類似度の編集
    • 内容
  5. Oracle Spatial and Graph

    次のコンポーネントが含まれます。

    • バッファ・ディメンション
    • バッファ許容値
    • 距離ディメンション
    • 距離許容値
    • 最近傍
    • 単純化
    • ジオコード・ツール:
      ノート

      次のジオコード・ツールは、Autonomous Database以外の環境でのみ使用できます。
      • ジオメトリとしてジオコーディング
      • ジオコード
      • 住所のジオコーディング
      • すべてジオコーディング
      • 住所をすべてジオコーディング
      • 逆ジオコーディング
      ノート

      次のジオコード・ツールは、Autonomous Database環境でのみ機能します。
      • ジオコード・クラウド
    • 空間結合

コンポーネントの追加

データ・エンティティおよびデータベース関数をデザイン・キャンバスに追加し、それらを論理的な順序で接続してデータ・フローを完了します。

データ・フローにコンポーネントを追加するには:
  1. 「データ・エンティティ」パネルで、「スキーマの追加」をクリックして、データ・フローで使用する必要のあるデータ・エンティティを含むスキーマを追加します。
  2. スキーマの追加ページで、接続とスキーマ名を選択します。
  3. 「インポート」をクリックします
  4. 「データ・エンティティのインポート」ページで、インポートするオブジェクトのタイプを選択します。スキーマ内の一部のオブジェクトのみをインポートする場合は、マスク/フィルタを選択し、「開始」をクリックします。
  5. 「データ・エンティティ」パネルに、インポートされたデータ・エンティティがリストされます。このパネルには、次を実行できる様々なオプションがあります:
    • データ・エンティティのリフレッシュ- 「リフレッシュ」アイコンをクリックして、表示されたリストをリフレッシュします。「リフレッシュ」アイコン
    • 名前 - 名前でデータ・エンティティを検索します。
    • タグ - 使用されるタグの名前でデータ・エンティティをフィルタします。
    • データ・エンティティのインポート - スキーマを右クリックして、このオプションを表示します。このオプションを使用して、データ・エンティティをインポートします。
    • スキーマの削除 - このオプションを表示するには、データ・エンティティを右クリックします。リストからスキーマを削除するには、このオプションを使用します。このオプションではスキーマは削除されず、スキーマとこのデータ・フローのアソシエーションのみが削除されることに注意してください。
  6. 同様に、必要に応じて、データ・フローにスキーマを追加します。
  7. データ・フローで使用する必要なデータ・エンティティをドラッグして、デザイン・キャンバス上にドロップします。
  8. データベース関数ツールバーから、データ・フローで使用する変換コンポーネントをドラッグして、デザイン・キャンバスにドロップします。データ・フローで変数を使用できます。詳細は、データ・フローでの変数の使用を参照してください。
  9. デザイン・キャンバスでオブジェクトを選択し、横にある「コネクタ」アイコン(「コネクタ」アイコン)をドラッグして、コンポーネントを接続します。
  10. データ・フローを保存すると、1つ以上のコンポーネント接続に転送アイコンが上書きされる場合があります。これは、ODIによって追加ステップが検出され、データ・サーバー間でデータの移動が必要であることを示しています。このアイコンをクリックすると、そのステップに関連付けられたプロパティを表示できます。
たとえば、次のとおりです。
add-components.pngの説明が続きます

コンポーネント・プロパティ

プロパティ・パネルには、デザイン・キャンバスで選択したコンポーネントの様々な設定が表示されます。

選択したコンポーネントに応じて、次のいずれかのアイコンが表示されます:

  • 一般(一般) - コンポーネントの名前が、その接続およびスキーマの詳細とともに表示されます。これらのプロパティの一部は編集できます。
  • 属性(属性) - コンポーネントに関連付けられたすべての属性の詳細が表示されます。
  • 列マッピング(列マッピング) - すべての列を自動的にマップできます。詳細は、データ列のマップを参照してください。
  • プレビュー(プレビュー) - コンポーネントのプレビューが表示されます。Oracle表の場合、選択したデータ・エンティティの統計を表示することもできます。使用可能な統計情報の詳細は、「データ・エンティティの統計の表示」を参照してください。
  • オプション(オプション) - 次のようなオプションが表示されます
    • 表の切捨て- 既存のターゲット表の内容を新しいデータで置換します。
    • 「追加」- フローからターゲットにレコードを挿入します。既存のレコードは更新されません。
    • 増分- フローのレコードを既存のレコードと比較し、関連するデータが異なる場合にレコードを更新して、ターゲット表のデータを統合します。ターゲットに存在しないレコードは挿入されます。
      このオプションには、デフォルトでTrueに設定されている自動圧縮機能が含まれています。「増分更新」モードを使用して圧縮されたOracleターゲット・パーティションにデータをロードするデータ・フロー・ジョブの場合、ロードが正常に完了すると、自動圧縮機能により、変更されたターゲット・パーティションは圧縮されます。もともと圧縮されていない表パーティションの場合、自動圧縮がtrueに設定されているかどうかに関係なく、圧縮はスキップされます。
      ノート

      自動圧縮オプションは、ADMINユーザーまたはDWROLEロールを持つユーザーが使用できます。ADMIN以外のスキーマ・ユーザーが含まれるデータ・フローの場合、DWROLEをユーザーに割り当てるか、実行エラーを回避するために自動圧縮を無効にする必要があります。

データ列のマップ

ソース・データ・エンティティをターゲット・データ・エンティティに接続すると、列名は列名に基づいて自動的にマップされます。位置や名前に基づいて列をマップしたり、式エディタを使用して手動で列をマップすることもできます。

位置または名前に基づいて列をマップするには:

  1. ターゲット・データ・エンティティを選択します。
  2. 右上隅にある矢印アイコンをクリックして、プロパティ・パネルを展開します。これにより、作業領域が広がります。
  3. プロパティ・パネルで、「列マッピング」アイコン(「列マッピング」アイコン)をクリックします。
  4. 位置または名前に基づいて列をマップするには、「自動マップ」ドロップダウン・メニューから「位置別」または「名前別」を選択します。

手動で列をマップするには:

  1. 「Auto Map」ドロップダウン・メニューから「Clear」を選択して、既存のマッピングをクリアします。
  2. 左側のツリーから、「式」列でマップする属性をドラッグ・アンド・ドロップします。
  3. 式を編集するには、各列の「編集」アイコンをクリックします。式エディタが表示され、必要な変更を行うことができます(たとえば、単に式"UPPER"を追加したり、式エディタを使用して式を編集できます)。
    ノート

    式エディタは、特定の列に複雑な式が含まれる場合にのみ使用してください。
  4. 「OK」をクリックします

データ・フローの検証および実行

マッピングの準備が完了したら、データ・フローの検証と実行できます。

次の手順を実行します。
  1. 「保存」をクリックします。

    保存後、変換前にデータをステージングする必要がある場合、「転送」ボタンが1つ以上のリンクに追加されます。必要に応じて、これらのボタンをクリックして別のオプションを設定できます。

  2. 「コードのシミュレート」アイコン(コードのシミュレート・アイコン)は、データ・フロー・ジョブの実行時に実行されるタスクを完了するための実行コードを確認する場合にクリックします。参照しやすいように、ソースとターゲットの詳細は異なる色で表示されます。これは、ジョブを実行する前にマッピングが正しいかどうかを確認する場合、またはジョブが失敗した場合に便利です。コードはデバッグに使用できないことに注意してください。ジョブの詳細は、「ジョブの詳細」ページを参照してください。
  3. データ・フローを検証するには、デザイン・キャンバスの上にあるツールバーの「検証」アイコン(「検証」アイコン)をクリックします。
  4. 検証に成功したら、「検証」アイコンの横にある「実行」アイコン(「実行」アイコン)をクリックして、データ・フローを実行します。

    実行ジョブのIDと名前を示すメッセージが表示されます。データ・フローのステータスを確認するには、プロパティ・パネルのすぐ下にあるステータス・パネルを参照してください。「ステータス」パネルの詳細は、「データ・ロード、データ・フローおよびワークフローのステータスのモニター」を参照してください。このパネルには、「ジョブ」ページで進行状況をモニターするためにクリックできるジョブIDへのリンクも表示されます。詳細は、ジョブの作成および管理を参照してください。

    Oracle Object Storage接続を使用して作成されたデータ・フローの場合、ソースCSVファイルのデータがターゲットOracle Autonomous Databaseにロードされます。Oracle Autonomous Database表のデータをOracle Object StorageのCSVファイルにエクスポートすることもできます。