ソースフィールド
データフローで使用するソースフィールドを設定できます。[プロパティ]パネルの[フィールド]タブでソースフィールドを設定します。
設定オプションは、接続タイプに応じて異なります。ほとんどの接続タイプでは、ソースフィールドの追加と削除、フィールドの表示方法の設定、フィールドメタデータの編集、およびソースオブジェクトからの元のフィールドの復元を行うことができます。一部の接続タイプでは、ソースオブジェクトからのみ、元のフィールドを復元できます。ソースフィールドの設定の詳細については、該当するコネクタのヘルプを参照してください。
ソースフィールドは、次の方法で設定できます。
- 各行にソースファイル名を追加します。
ファイルリストをソースとして使用しており、各行のソースを識別する場合は、ソースファイル名をフィールドリストに追加します。この情報をターゲットテーブルに渡すことができます。
各行にソースファイル名を追加するには、[現在処理中のファイル名フィールドを追加する] オプションを有効にします。[現在処理中のファイル名フィールドを追加する]オプションがファイルソースについて表示されます。
このオプションを有効または無効にすると、データ統合によってCurrentlyProcessedFileNameフィールドが追加または削除されますが、このフィールドはソースオブジェクトと同期されません。ソースオブジェクトと同期するには、[更新]アイコンをクリックします。すべてのフィールドの同期、新しいフィールドのみの同期、または同期のスキップを行うことができます。
- 実行時に既存のフィールドを保持
マッピングの保存後にフィールドメタデータが変更された場合、データ統合では、マッピングの実行時に更新されたフィールドメタデータが使用されます。通常、これは適切な動作です。ただし、マッピングでネイティブフラットファイル接続を使用しており、設計時に使用したメタデータを保持する場合は、[実行時に既存フィールドを保持]オプションを有効にします。このオプションを有効にすると、データ統合のマッピングタスクでは、マッピングの作成時に使用したフィールドメタデータが使用されます。
- フィールドを追加および削除します。
マッピングソースにフィールドを追加できます。リストに表示されていないソースオブジェクトからフィールドを取得するためのフィールドを追加します。フィールドを追加するには、[フィールドの追加]をクリックして、フィールド名、タイプ、精度、およびスケールを入力します。
また、マッピングで使用しないフィールドを削除することもできます。フィールドを削除するには、削除するフィールドを選択して、[削除]をクリックします。
- ソート順を変更します。
- ソースフィールドは、ネイティブ順、昇順、または降順に表示できます。ソート順を変更するには、[ソート]をクリックして、適切なソート順を選択します。
- 技術フィールド名またはラベルを使用します。
フィールド名は、ラベルまたは技術フィールド名で表示できます。
フィールド名の表示オプションを変更するには、[オプション] > [フィールドの技術名を使用]または[オプション] > [ラベルを使用]を選択します。
- フィールドメタデータを編集します。
フィールドのメタデータを編集できます。誤って推測された情報を変更するためにメタデータを編集することがあります。メタデータを編集する場合は、名前、ネイティブタイプ、ネイティブ精度、およびネイティブスケールを変更できます(データ型に該当する場合)。一部のソースタイプでは、[タイプ]カラムでトランスフォーメーションデータタイプを変更することもできます。
1つまたは複数のフィールドの名前またはメタデータを編集するには、[オプション] > [メタデータの編集]をクリックします。メタデータを編集する場合は、ラベルまたは技術フィールド名でネイティブ名を表示することもできます。ネイティブ名の表示オプションを変更するには、[オプション] > [フィールドの技術名を表示]または[オプション] > [ラベルを表示]を選択します。
フィールドのメタデータを変更する場合は、タスクの実行時にエラーが発生する可能性のある変更を行わないようにします。例えば、フィールドのネイティブ精度やネイティブスケールを増やしても、通常エラーになることはありません。一方、フィールドの精度を減らすと、データが切り捨てられる可能性があります。
SQL ELTモードのマッピングのフィールドメタデータを編集することはできません。
- ソースオブジェクトから元のフィールドを復元します。
ソースオブジェクトから元のフィールドを復元するには、[同期]オプションを有効にします。フィールドを同期すると、データ統合は削除されたソースフィールドを復元し、ソースに新しいフィールドを追加します。データ統合は、追加されたフィールドのうち、ソースオブジェクトで対応するフィールドがないものを削除します。
データ統合では、すべてのフィールドを同期したか新しいフィールドのみを同期したかに基づいて、既存のソースフィールドのメタデータが更新されます。すべてのフィールドを同期した場合、データ統合では、編集したフィールドメタデータがソースオブジェクトのフィールドメタデータで置き換えられます。新しいフィールドのみを同期した場合、データローダーは、既存のソースフィールドのメタデータを保持します。データ統合は、[名前]フィールドに加えられた変更は元に戻しません。
複合ファイルソースのネイティブデータ型の編集
データ統合は、複合ファイルソースのネイティブデータ型を、詳細クラスタとデータ統合サーバーではそれぞれ異なる方法で処理します。
詳細クラスタでは、array、map、structなどの階層データ型には、ネイティブタイプが割り当てられます。例えば、Amazon S3ソースのmapフィールドには、ネイティブデータ型「map (string_integer)」が設定されることがあります。array、map、structフィールドのメタデータは編集できません。
データ統合サーバーでは、データ統合は複合階層データ型を最大4,000文字の精度でネイティブ文字列データ型にフラット化します。ネイティブデータ型はコネクタによるものと、データ統合がソースデータを読み取るときに使用するパーサーによるものとがあります。パーサーデータ型には形式タイプのプレフィックスが付きます。例えば、Avro形式のAmazon S3ソースでは、パーサーによるmapフィールドにはネイティブデータ型avro_stringが設定されます。コネクタフィールドとパーサーフィールドのネイティブデータ型は変更できます。
ネイティブデータ型を変更するには、ソースのメタデータを編集し、[ネイティブタイプ]カラムで適切なデータ型を選択します。
ネイティブデータ型を変更するときは、非パーサーデータ型をパーサーデータ型に変更できません。例えば、Amazon S3ソースの場合、データ統合はFileNameフィールドのネイティブデータ型をstringに設定します。ネイティブデータ型をnstringに変更することはできますが、avro_stringにはできません。同様に、パーサーデータ型を非パーサーデータ型に変更できません。
複合ファイルソースのネイティブデータ型の編集の詳細については、適切なコネクタのヘルプを参照してください。
トランスフォーメーションのデータ型の編集
データ統合は、ソースデータを読み取るときに、ネイティブデータ型を対応するトランスフォーメーションデータ型に変換してから、データのトランスフォームを実行します。データ統合は、ターゲットに書き込むときに、トランスフォーメーションデータ型を対応するネイティブデータ型に変換します。ソースのメタデータを編集するときは、フィールドのトランスフォーメーションデータ型を変更することができます。
ネイティブデータ型に複数のトランスフォーメーションデータ型があるようなコネクタのトランスフォーメーションデータ型を変更できます。例えば、Kafkaソースでは、ネイティブデータ型のバイナリをトランスフォーメーションデータ型のバイナリまたは文字列にマッピングできます。
トランスフォーメーションデータ型を変更するには、ソースのメタデータを編集し、[タイプ]カラムで適切なトランスフォーメーションデータ型を選択します。
フィールドのトランスフォーメーションデータ型を編集すると、データ統合では、ダウンストリームトランスフォーメーションでそのフィールドのデータ型が更新されます。実行時にターゲットが作成される場合は、ターゲットでそのフィールドのデータ型も更新されます。マッピングに既存のターゲットが含まれる場合は、データ型に互換性があるようにターゲットでフィールドのメタデータを編集する必要があります。
さまざまなソースタイプのトランスフォーメーションデータ型の編集の詳細については、適切なコネクタのヘルプを参照してください。