変換構成テンプレート
このトピックでは、Oracle NoSQL Database Migratorでサポートされている様々な変換の構成パラメータについて説明します。
Oracle NoSQL Database Migratorを使用すると、移行アクティビティの過程でデータを変更(データ変換を追加)できます。1回の移行で複数の変換を定義できます。このような場合、ソース・データには指定の順序で各変換が実行されるため、変換の順序は重要です。ある変換の出力が、マイグレータ・パイプライン内の次の変換への入力になります。
表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 } }