データ・フローについて

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

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

データ・フローを実行すると、データ変換では結合、フィルタ、マッピングおよび制約を使用してソース・データを変換し、ターゲット表にロードします。実行フローは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つの部分に分割されています。



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

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

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

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

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

データ・フロー・エディタのデータベース機能ツールバーでは、データ・フローで使用できる次のデータベース機能が含まれています。データベース・ファンクションの詳細は、Oracle Database SQL言語リファレンスを参照してください。

  1. データ変革

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

    • 集計
    • フィルタ
    • 結合
    • 個別
    • 参照
    • 設定
    • ソート
    • 副問合せフィルタ
    • テーブル・ファンクション
  2. データの準備

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

    • データ・クレンジング
    • 置換
    • 等幅ビニング
    • 分位ビニング
    • 先頭
    • Lag
    • 置換
  3. 機械学習

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

    • 予測
    • 予測モデル
    • 外れ値の検出
    • テキスト埋込みベクトル
  4. テキスト

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

    • 正規表現数
    • 普通預金証書
    • 正規表現サブストル
    • 正規表現置換
    • 距離類似度の編集
    • 含む
  5. Oracle Spatial and Graph

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

    • バッファ・ディメンション
    • バッファ許容値
    • 距離ディメンション
    • 距離許容値
    • 直近
    • 簡素化
    • ポイント
    • ジオコード・ツール:
      ノート

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

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

コンポーネントの追加

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

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

データ・フローでのテキスト埋込みベクトルの使用

データ変換では、ベクトル・データ型の使用とデータ・フローへのベクトルの埋込みがサポートされます。現在、Data TransformsはOCI生成AIサービスと統合され、入力テキストをデータ分析および検索に使用できるベクトル埋込みに変換します。

データ変換を埋め込むテキストの場合、列に格納されているテキストと、列に格納されているhttpリンクの両方がサポートされます。データ・フローでベクトルの埋込みを使用する前に、次のことを実行する必要があります。

データ・フローでベクトル埋込みを使用するには:

  1. 「データ・フローの作成」の指示に従って、新しいデータ・フローを作成します。
  2. データ・フロー・エディタで、「スキーマの追加」をクリックしてソース接続を定義します。「接続」ドロップダウンから、Oracle Database 23ai接続と使用するスキーマをドロップダウンから選択してください。「OK」をクリックします。
  3. データ・フローでソースとして使用する表をドラッグして、デザイン・キャンバスにドロップします。
  4. 「データベース関数」ツールバーで、「機械学習」をクリックし、「テキスト埋込みベクトル」変換コンポーネントをデザイン・キャンバスにドラッグ・アンド・ドロップします。
  5. 「テキスト埋込みベクトル」変換コンポーネントをクリックして、そのプロパティを表示します。
  6. 「一般」タブで、次を指定します:
    • AIサービス - ドロップダウンから「OCI生成AI」を選択します。
    • 接続 - ドロップダウンに、選択したAIサービスで使用可能なすべての接続がリストされます。使用する接続を選択します。
    • AIモデル - ドロップダウンには、選択したAIサービスおよび接続で使用可能なすべてのモデルがリストされます。次のモデルがリストされます。
      • "cohere.embed-english-light-v2.0"
      • "cohere.embed-english-light-v3.0"
      • "cohere.embed-english-v3.0"
      • "cohere.embed-multilingual-light-v3.0"
      • "cohere.embed-multilingual-v3.0"
      モデル名を入力することもできます。
  7. 「列マッピング」タブで、埋め込むソース列を演算子のINPUT属性にマップします。列マッピングで使用可能な列は、input_textのみです。使用可能な列から「式」列にテキスト列をドラッグします。これは、ベクトルが構築されるデータです。
  8. データ・フローでターゲットとして使用する表をドラッグし、デザイン・キャンバスにドロップします。
  9. データ・フローを保存して実行します。

    データ変換では、ソース表内の各行のベクトルが作成され、ターゲット表に書き込まれます。

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

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

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

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

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

データ列のマップ

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

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

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

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

  1. 「自動マップ」ドロップダウン・メニューから「クリア」を選択して、既存のマッピングをクリアします。
  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ファイルにエクスポートすることもできます。