tHMapの標準プロパティ - Cloud - 8.0

Data mapping

Version
Cloud
8.0
Language
日本語 (日本)
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > 変換処理コンポーネント > データマッピング
データガバナンス > サードパーティーシステム > 変換処理コンポーネント > データマッピング
データクオリティとプレパレーション > サードパーティーシステム > 変換処理コンポーネント > データマッピング

これらのプロパティを使って、標準ジョブフレームワークで実行されているtHMapを設定します。

標準tHMapコンポーネントは、変換処理ファミリーに属しています。

このコンポーネントは、Talend Data Management Platform、Talend Big Data Platform、Talend Real Time Big Data Platform、Talend Data Services Platform、Talend MDM PlatformおよびTalend Data Fabricで利用できます。

基本設定

Open Map Editor (マップエディターを開く)

[...]ボタンをクリックして[tHMap Structure Generate/Select] (tHMap構造の生成/選択)ウィザードを開きます。このウィザードでは、スキーマを基に階層マッパー構造を自動生成したり、 既存の階層マッパー構造を選択したりできます。マップの入出力側双方でこの操作を実行してください。以下に、出力構造のオプションを示します。

  • [Generate hierarchial mapper structure based on the schema] (スキーマを基に階層マッパー構造を生成する)オプション: 複数の出力接続をtHMapに接続する場合、マッパーストラクチャーが出力接続を基に生成されたことを伝える確認メッセージがページに表示されます。
  • [Select an existing hierarchical mapper structure] (既存の階層マッパー構造を選択)オプション: ペイロードベースの接続である複数の出力をtHMapに接続できます。単一のペイロードタイプの接続がある場合は、[Allow support for multiple output connections] (複数の出力接続のサポートを許可する)チェックボックスをオンにできます。生成された出力マップは既存のペイロード構造から継承されます。

使用可能な複数の接続がTalend Studioによって検出されると、ウィンドウには両方の出力構造オプションが表示され、複数の出力接続のサポート用のチェックボックスは表示されません。

入力接続または出力接続のいずれもない場合は、[Sructure Selection] (構造の選択)ページが表示されます。

マップをスキーマ接続で同期化

次のいずれかの変更後にマップの入力構造と出力構造を自動的に再生成する場合は、このチェックボックスを選択します。
  • 接続メタデータを変更
  • 入力接続または出力接続を追加
  • 入力接続または出力接続を削除
接続が有効化されても無効化されても、変化は検出されません。
このチェックボックスを選択すると、マップを変更後にコンポーネントから開いた時に、このマップが自動的に同期されます。同期されない場合は、同期するかどうかを尋ねるダイアログが表示されます。
注: 複数の接続を持つストラクチャーの場合、コンポーネント設定ウィザードで生成されたものと同じ形式のストラクチャーでなければマップを同期させることはできません。たとえば、複数の出力を持つフラット化マップを自動的に同期させることはできません。

[Map Path] (マップパス)

実行するマップを指定します。

上記のウィザードを使ってマップが自動的に作成された場合、このパスは自動的に設定されます。

既存のマップを使用する場合は、[Map Path] (マップパス)フィールドの横の[...]ボタンをクリックして、使用するマップを選択できるダイアログボックスを開きます。次に、[Open Map Editor] (マップエディターを開く)の横の[...]ボタンをクリックして、選択したマップの作業を行います。このマップはあらかじめ Mapping パースペクティブで作成しておく必要があります。

Read Input As (入力の読み取り...)

希望する入力データの読み取り方法に合ったラジオボタンをオンにします。マップによっては、オプションの一部しか利用できません。

  • Data Integration columns (データ統合カラム) (デフォルト): Talend Data Integrationメタデータで作業をしている場合は、このオプションを使用します。

  • Single Column (単一カラム): Talend Data Mapperメタデータで作業をしている場合は、このオプションを使用します。

出力の書き込み...

希望する出力データの書き込み方法に合ったラジオボタンをオンにします。マップによっては、オプションの一部しか利用できません。

  • Data Integration columns (データ統合カラム) (デフォルト): Talend Data Integrationメタデータで作業をしている場合は、このオプションを使用します。

  • [String (single column)] (文字列(単一カラム)): 出力カラムのデータをStringにしたい場合はこのオプションを使用します。

  • [Byte array (single column)] (バイト配列(単一カラム)): 出力カラムのデータをByte arrayにしたい場合はこのオプションを使用します。

  • [InputStream (single column)] (InputStream (単一カラム)): Talend Data Mapperメタデータで作業を行っていて、入力データがストリームの場合は、このオプションを使用します。

  • [Document (single column)] (ドキュメント(単一カラム)); 出力カラムのデータをDocumentにしたい場合はこのオプションを使用します。

    注: Talend Studioのバージョン6.5以前で作成したジョブで[Document (single column)] (ドキュメント(単一カラム))を選択し、同じジョブを最新バージョン7.0以降にインポートする場合は、ジョブを実行する前に、マップの出力表現を必ずXMLに更新してください。バージョン7.0以降はXML表現の[Document] (ドキュメント)出力タイプにのみ対応しています。

詳細設定

マップ変数

このフィールドには、マップへのパスを含んだコンテキスト変数を入力します。たとえば、context.mymapfileと入力した場合、mymapfileはランタイム時にさまざまなマップファイルを参照できます。毎回新しいジョブを作成せずに複数のマップを使用したい場合に、このオプションが便利です。

[Contexts] (コンテキスト)タブの値は相対パスにする必要があります。たとえば、mapAというマップがフォルダーMaps/FolderAにある場合、コンテキスト変数には値“FolderA/mapA.xml”を含める必要があります。.xml拡張子の有無に関係なくパスをファイルに書き込めます。

コンテキスト変数によって参照される可能性のあるマップはすべて同じプロジェクト内に置く必要があります。そうすることで、ジョブの構築時にすべての候補マップが含まれるようになり、ランタイム時にマップを切り替えることができます。

コンテキスト変数を使う作業の詳細は、Talend Studio ユーザーガイドをご参照ください。

交互のコンテキストマップ

ランタイム時に[Map Variable] (マップ変数)に追加したコンテキスト変数が参照できるマップを1つ以上ドロップダウンリストから選択します。ジョブの構築時、選択した代替コンテキストマップが1つ以上含まれます。代替コンテキストマップの使用に関するシナリオ例については、tHMapでマップ変数と代替マップを指定をご参照ください。

Map each row (disable virtual component) (各行をマップする(仮想コンポーネントを無効化))

tHMapで入力を単一出力行として処理する場合は、このチェックボックスをオンにします。オンにすると、tHMapが入力行を下流に送る前にバッファーするのを防ぐことができます。

tSAPIDocReceiverコンポーネントに待ち受けを永続的に行うように指示すると、行が全く送信されなくなるので、たとえば、tHMapコンポーネントと併せてtSAPIDocReceiverを入力コンポーネントとして、スキーマ認識コンポーネントを出力コンポーネントとして使用する場合、このオプションが役立ちます。

継続的に入力を受信できるよう開いたままにしておける入力コンポーネント(tRestRequest)と共にtHMapを使用する場合は、このオプションを選択する必要があります。これによってtHMapは、受信される入力を直接処理できるようになります。

[Emit empty payload] (空のペイロードを発行) このチェックボックスを選択して、出力データがない場合は、出力接続内に空の行を送信します。これは、入力がないまたはマップで入力全体が除外される場合にできます。このチェックボックスがオフになっていると、出力接続に行が送信されません。

このオプションは、[Map each row] (各行をマップ)チェックボックスがオフになっている時のみ適用されます。

Exception Threshold (例外しきい値)

Talend Data Mapperは例外ステータスを重大度値OK[Info] (情報)[Warning] (警告)[Error] (エラー)[Fatal] (致命的)のいずれかと共に返します。例外しきい値を設定することにより、例外を返す重大度レベルを指定でき、デフォルト値であるFatal (致命的)以外の場合に、ダウンストリームのコンポーネントがエラーを検出できます。

ドロップダウンリストから、マップの実行中に例外を返す重大度レベルを選択します。

  • Fatal (致命的) (デフォルト): 致命的なエラーが発生すると例外がスローされます。

  • Error (エラー): エラー(またはそれ以上のレベル)が発生した場合に例外を返します。

  • Warning (警告): 警告(またはそれ以上のレベル)が発生した場合に例外を返します。

Studioでマップをテストした時に警告以上のレベルが発生すると、マップの問題を診断しやすくするために、それらのエラーは[Exception Threshold] (例外しきい値)の設定に関係なくコンソールウィンドウに出力されます。

[tStatCatcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。

グローバル変数

グローバル変数

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、Die on error (エラー時強制終了)がオフになっている場合のみ機能します。

MapExecutionStatus: org.talend.transform.runtime.common.MapExecutionStatusクラスのオブジェクトを返します

EXECUTION_SEVERITY: [Overall Severity] (全体的な重大度)の数値。これはAfter変数で、整数を返します。

Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入れるには、Ctrl + Spaceを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細は、 Talend Studio ユーザーガイドをご覧ください。

使用方法

[Usage rule] (使用ルール)

tHMapは、多種多様なソースからの複雑なデータマップが必要なジョブに使われます。

入力接続と出力接続はTalend Data Mapperメタデータ、Talend Data Integrationメタデータ、またはこれら2つの組み合わせを使用できます。各接続は相互から独立しています。

接続ごとに初めてマップエディターを開くと、Talend Data Integrationコンポーネントのスキーマを基にTalend Data Mapper構造の定義が生成されます。または、Talend Data Mapperメタデータを使用している場合は、既存のTalend Data Mapper構造を選択できます。その後、選択または生成された構造でマップが作成されます。

このコンポーネントは複数の方法で使用できます。

  • Talend Data Mapperメタデータを基にTalend Data Mapperを操作できます。その場合、コンポーネント(tFileInputRawtFileOutputRawなど)はデータを単一行の単一カラムで渡します。

    使用方法については、Talend Data Mapperメタデータの使用をご参照ください。

  • Talend Data Integrationメタデータを操作できます。その場合、入力および出力コンポーネントをtHMapに接続してから、マップパスを指定せずにマップエディターを開きます。

    使用方法については、Talend Data Integrationメタデータの使用をご参照ください。

  • Talend Data MapperメタデータとTalend Data Integrationメタデータを組み合わせて使用できます。

    使用方法については、データ統合スキーマから複合コンテンツスキーマへの変換をご参照ください。

  • rawファイル入力とスキーマベースの入力接続をtHMapへの入力として使用できるようになりました。

    この使用方法の例は、tHMapと複数のスキーマ入力を使った出力の生成tHMapと複数のペイロード入力を使った出力の生成をご参照ください。

  • Talend Studioで作成したデータベースを使用してこれらのテーブルをtHMapへの入力として接続できます。非推奨DatabaseLookup機能を使用するジョブがある場合は、tHMapへの移行手順についてDatabaseLookupからtHMapへの移行をご参照ください。
  • tHMapを複数のデータベース出力接続に接続することもできます。過去にIOデータベース機能を使って作成したジョブを移行する場合は、IOデータベース機能をtHMapマルチ出力データベース接続に移行をご参照ください。
  • rawファイル、スキーマベースの接続、ペイロードベースの接続を使ってtHMapを複数の出力接続に接続できます。
  • エラー処理に、tHMapコンポーネントを使ってエラー状態に対処する方法を示します。

  • 単一接続のtHMapの場合、[Generate from Schema] (スキーマから生成)(スキーマベース)と[Select From Existing Structure] (既存の構造から選択) (ペイロードタイプ)のオプションでは[Wrap Structure] (構造の折り返し)オプション(tHMapによる複数の入力/出力のサポートが可能)がデフォルトでオフになっています。

高度な使用事例
  • thMapの出力構造では、Talend Data MapperWriteURLファンクションを使用することもできます。tHMapの出力構造にTalend Data Integrationメタデータまたはコンポーネントへの接続とWriteURLファンクションの両方が含まれている場合、WriteURLの値が優先されます。Talend Data Integrationメタデータまたはコンポーネントは、tHMapからデータを一切受信しません。
  • tHMapを使用して、生成されたTalend Data Mapperマップを[Test Run] (テスト実行)モードでテストできます。

    この機能を使用するには、これらのプロパティと互換性があるCSV形式の入力ドキュメントが必要です。
    • デフォルトの区切り文字はコンマ(,)です。
    • システムのデフォルトの改行文字は改行として使用されます。
    • 入力ファイルにヘッダー行はありません。
    • 出力ファイルにヘッダー行はありません。

    [Show Document] (ドキュメントの表示) > [Select Sample Input Document] (サンプル入力ドキュメントの選択) > [Select Resource/Import Document] (リソースの選択/ドキュメントのインポート)で入力ドキュメントを指定します。

    変換を実行するには、[Test Run] (テスト実行)をクリックします。実行後、生成された出力ドキュメントがCSV形式になります。[Save to File] (ファイルに保存)をクリックしてファイルを保存できます。この機能を設定するには、Talend Data Mapperユーザーガイドで「テストの環境設定」をご参照ください。

    ヒント: マップ内に複数の入力と出力がある場合は、各行または各ReadURLマップエレメントの入力ドキュメントを指定します。実行するには、[Test Run to External Output] (外部出力にテスト実行)オプションを使って、マップの出力構造内のWriteURLごとにファイルURLを指定します。
制限事項
  • 複数の入力接続または出力接続のあるtHMapを作成した場合は、新しいスキーマベースの入力接続または出力接続しか追加できません。
  • 単一カラムを持つ新しい接続を追加する場合、その接続をペイロード構造と関連付けることはできません。このマップ再生成メカニズムは、新しい接続に対して単一エレメントレコードしか生成しません。
  • 古いEclipseベースのランタイムの場合、tHMapが含まれているジョブをOSGiバンドルとしてデプロイすることはできません。
Talend Runtimeとの使用 データマッピングコンポーネントが含まれているジョブやルートを Talend Runtimeと共にデプロイしたい場合は、まずTalend Data Mapper機能をインストールする必要があります。詳細は、 Talend Runtimeと共にTalend Data Mapperを使用をご覧ください。
注:
  • Talend Data Mapperを使った変換の実行方法については、Talend Data Mapperユーザーガイドをご参照ください。

  • Map、CSV、Avro、XML、Cobol以外の表記を使用する場合、Eclipseベースの古いRuntimeでこのコンポーネントを実行すると一時フォルダーが作成され、Runtimeを停止しても自動的に削除されなくなることがあります。Talend Data Mapperを頻繁に実行する場合、これらのファイルが増大し、最終的にはディスクが満杯になってエラーが生じる可能性があります。このエラーが発生すると、ランタイムに失敗します。このような状況を避けるため、定期的にクリーニングを行ってください。詳細は、一時フォルダーや一時ファイルをクリーンアップをご覧ください。