変換構成テンプレート

このトピックでは、Oracle NoSQL Database Migratorでサポートされている様々な変換の構成パラメータについて説明します。

Oracle NoSQL Database Migratorを使用すると、移行アクティビティの過程でデータを変更(データ変換を追加)できます。1回の移行で複数の変換を定義できます。このような場合、ソース・データには指定の順序で各変換が実行されるため、変換の順序は重要です。ある変換の出力が、マイグレータ・パイプライン内の次の変換への入力になります。

NoSQL Data Migratorでサポートされている様々な変換は次のとおりです。

表7-2 変換

変換構成属性 この変換を使用して、次のことができます。
ignoreFields シンクに書き込む前に、ソース行から識別された列を無視します。
renameFields シンクに書き込む前に、ソース行から識別された列の名前を変更します。
aggregateFields ソースの複数の列をシンクの単一の列に集計します。この変換の一部として、集計から除外する列を指定することもできます。これらのフィールドは集計列からスキップされます。

次に、サポートされている各変換の構成テンプレートを示します。

ignoreFields

ignoreFields変換の構成ファイル形式を次に示します。

構成テンプレート

"transforms" : {
  "ignoreFields" : ["<field1>","<field2>",...]
}

変換パラメータ

ignoreFields

  • 用途: ソース・レコードから無視する列名の配列。

    ノート:

    最上位のフィールドのみを指定できます。ネストされたフィールドのデータには変換を適用できません。
  • データ型: 文字列の配列
  • 必須(Y/N): Y
  • 例: ソース・レコードのnameおよびaddressという名前の列を無視する場合。

    "ignoreFields" : ["name","address"]

includeFields

includeFields変換の構成ファイル形式を次に示します。

構成テンプレート

"transforms" : {
  "includeFields" : ["<field1>","<field2>",...]
}

変換パラメータ

includeFields

  • 用途: ソース・レコードから含める列名の配列。配列で指定されたフィールドのみが含まれ、残りのフィールドは無視されます。

    ノート:

    空の配列を指定すると、NoSQL Database Migratorツールはエラーをスローしますさらに、最上位フィールドのみを指定できます。NoSQL Database Migratorツールは、ネストされたフィールドのデータに変換を適用しません。
  • データ型: 文字列の配列
  • 必須(Y/N): Y
  • 例: ソース・レコードから"age"および"gender"という名前の列を無視するには:

    "includeFields" : ["age","gender"]

renameFields

renameFields変換の構成ファイル形式を次に示します。

構成テンプレート

"transforms" : {
  "renameFields" : {
    "<old_name>" : "<new_name>",
    "<old_name>" : "<new_name>,"
    .....
  }
}

変換パラメータ

renameFields

  • 用途: 名前を変更する新旧の列名のキーと値のペア。

    ノート:

    最上位のフィールドのみを指定できます。ネストされたフィールドのデータには変換を適用できません。
  • データ型: JSONオブジェクト
  • 必須(Y/N): Y
  • 例: residenceという列をaddressに、_idという列をidに名前変更する場合。

    "renameFields" : { "residence" : "address", "_id" : "id" }

aggregateFields

aggregateFields変換の構成ファイル形式を次に示します。

構成テンプレート

"transforms" : {
  "aggregateFields" : {
    "fieldName" : "name of the new aggregate field",
    "skipFields" : ["<field1>","<field2">,...]
  }
}

変換パラメータ

aggregateFields

  • 用途: シンク内の集計フィールドの名前。

  • データ型: 文字列
  • 必須(Y/N): Y
  • 例: 指定されたレコードが次の場合。

    {
      "id" : 100,
      "name" : "john",
      "address" : "USA",
      "age" : 20
    }

    集計変換が次の場合:

    "aggregateFields" : {
      "fieldName" : "document",
      "skipFields" : "id"
    }

    シンクの集計列は次のようになります。

    {
      "id": 100,
      "document": {
        "name": "john",
        "address": "USA",
        "age": 20
      }
    }