tHMapの標準プロパティ
これらのプロパティは、標準ジョブのフレームワークで実行されているtHMapを設定するために使われます。
標準のtHMapコンポーネントは、変換処理ファミリーに属しています。
このコンポーネントは、Talend Data Management PlatformTalend Big Data Platform、Talend Real-Time Big Data PlatformTalend Data Services Platform、Talend MDM PlatformおよびTalend Data Fabricで使用できます。
基本設定
[Open Map Editor] (マップエディターを開く) |
[...]ボタンをクリックして[Structure Generate/Select] (ストラクチャーの生成/選択)ウィザードを開きます。 まず、作成するマップのタイプを選択できます。
情報メモ注: このオプションは、Talendが提供するR2023-10以降のStudioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
ここでは、スキーマを基に階層マッパーストラクチャーを自動生成したり、 既存の階層マッパーストラクチャーを選択したりできます。マップの入出力側双方でこの操作を実行してください。以下に、出力ストラクチャーのオプションを示します。
使用可能な複数の接続がTalend Studioによって検出されると、ウィンドウには両方の出力ストラクチャーオプションが表示され、複数の出力接続のサポート用のチェックボックスは表示されません。 入力接続または出力接続のいずれもない場合は、[Sructure Selection] (ストラクチャーの選択)ページが表示されます。 |
マップをスキーマ接続で同期化 |
次のいずれかの変更後にマップの入力ストラクチャーと出力ストラクチャーを自動的に再生成する場合は、このチェックボックスを選択します。
このチェックボックスを選択すると、マップを変更後にコンポーネントから開いた時に、このマップが自動的に同期されます。同期されない場合は、同期するかどうかを尋ねるダイアログが表示されます。
情報メモ注: 複数の接続を持つストラクチャーの場合、コンポーネント設定ウィザードで生成されたものと同じ形式のストラクチャーでなければマップを同期させることはできません。たとえば、複数の出力を持つフラット化マップを自動的に同期させることはできません。
|
Map Path |
実行するマップを指定します。 上記のウィザードを使ってマップが自動的に作成された場合、このパスは自動的に設定されます。 既存のマップを使用する場合は、[Map Path] (マップパス)フィールドの横の[...]ボタンをクリックして、使用するマップを選択できるダイアログボックスを開きます。次に、[Open Map Editor] (マップエディターを開く)の横の[...]ボタンをクリックして、選択したマップの作業を行います。このマップはあらかじめ マッピング パースペクティブで作成しておく必要があります。 |
Read Input As (入力の読み取り...) |
希望する入力データの読み取り方法に合ったラジオボタンをオンにします。マップによっては、オプションの一部しか利用できません。
|
出力の書き込み... |
希望する出力データの書き込み方法に合ったラジオボタンをオンにします。マップによっては、オプションの一部しか利用できません。
|
詳細設定
マップ変数 |
このフィールドには、マップへのパスが含まれているコンテキスト変数かグローバル変数を入力します。たとえば、context.mymapfileと入力した場合、mymapfileは実行時にさまざまなマップファイルを参照できます。毎回新しいジョブを作成せずに複数のマップを使用したい場合に、このオプションが便利です。 変数の値は相対パスであることが必要です。たとえば、mapAというマップがフォルダーMaps/FolderAにある場合、変数には値“FolderA/mapA.xml”を含める必要があります。.xml拡張子の有無に関係なくパスをファイルに書き込めます。 変数によって参照される可能性のあるマップは、すべて同じプロジェクト内に置く必要があります。それによってジョブのビルド時に候補マップがすべて含まれ、実行時にマップを切り替えることができるようになります。 コンテキスト変数での作業の詳細は、Talend Studioユーザーガイドでコンテキストと変数を使用をご覧ください。 |
交互のコンテキストマップ |
実行時に[Map Variable] (マップ変数)に追加したコンテキスト変数が参照できるマップを1つ以上ドロップダウンリストから選択します。 選択された代替マップは、元のマップと同じマップタイプ(標準またはDSQL)であることが必要です。 ジョブの構築時、選択した代替コンテキストマップが1つ以上含まれます。代替コンテキストマップの使用に関するシナリオ例については、tHMapでマップ変数と代替マップを指定をご覧ください。 |
Map each row (disable virtual component) (各行をマップする(仮想コンポーネントを無効化)) |
tHMapで入力を単一出力行として処理する場合は、このチェックボックスを選択します。オンにすると、tHMapが入力行を下流に送る前にバッファーするのを防ぐことができます。 tSAPIDocReceiverコンポーネントに待ち受けを永続的に行うように指示すると、行が全く送信されなくなるので、たとえば、tHMapコンポーネントと併せてtSAPIDocReceiverを入力コンポーネントとして、スキーマ認識コンポーネントを出力コンポーネントとして使用する場合、このオプションが役立ちます。 継続的に入力を受信できるよう開いたままにしておける入力コンポーネント(tRestRequest)と共にtHMapを使用する場合は、このオプションを選択する必要があります。これによってtHMapは、受信される入力を直接処理できるようになります。 |
[Emit empty payload] (空のペイロードを発行) | このチェックボックスを選択して、出力データがない場合は、出力接続内に空の行を送信します。これは、入力がないまたはマップで入力全体が除外される場合にできます。このチェックボックスがオフになっていると、出力接続に行が送信されません。 このオプションは、[Map each row] (各行をマップ)チェックボックスがオフになっている時のみ適用されます。 |
[Use old Eclipse runtime] (古いEclipseランタイムを使用) |
古いEclipseランタイムをジョブに含める場合は、このチェックボックスを選択します。
情報メモ注: このオプションは、Talendが提供するR2024-03以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。
|
Exception Threshold (例外しきい値) |
Talend Data Mapperは[OK]、重大度値([Info] (情報)、[Warning] (警告)、[Error] (エラー)、[Fatal] (致命的)のいずれか)と共に実行ステータスを返します。例外しきい値を設定することにより、例外を返す重大度レベルを指定でき、デフォルト値であるFatal (致命的)以外の場合に、ダウンストリームのコンポーネントがエラーを検出できます。 ドロップダウンリストから、マップの実行中に例外を返す重大度レベルを選択します。
マップの問題を診断しやすくなるよう、Talend 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 + スペースを押して変数リストにアクセスし、使用する変数を選択します。 変数の詳細は、コンテキストと変数を使用をご覧ください。 |
使用方法
使用ルール |
tHMapは、多種多様なソースからの複雑なデータマップが必要なジョブに使われます。 入力接続と出力接続はTalend Data Mapperメタデータ、Talend Data Integrationメタデータ、またはこれら2つの組み合わせを使用できます。各接続は相互から独立しています。 接続ごとに初めてマップエディターを開くと、Talend Data Integrationコンポーネントのスキーマを基にTalend Data Mapperストラクチャーの定義が生成されます。または、Talend Data Mapperメタデータを使用している場合は、既存のTalend Data Mapperストラクチャーを選択できます。その後、選択または生成されたストラクチャーでマップが作成されます。 このコンポーネントは、複数の方法で使用できます。
|
高度な使用事例 |
|
制限事項 |
|
Talend Runtimeとの使用 | データマッピングコンポーネントが含まれているジョブやルートを Talend Runtimeと共にデプロイしたい場合は、まずTalend Data Mapper機能をインストールする必要があります。詳細は、 Talend Runtimeと共にTalend Data Mapperを使用をご覧ください。 |
-
Talend Data Mapperを使った変換の実行方法については、このドキュメンテーションをご覧ください。
- Map、CSV、Avro、XML、Cobol以外の表記を使用する場合、Eclipseベースの古いRuntimeでこのコンポーネントを実行すると一時フォルダーが作成され、Runtimeを停止しても自動的に削除されなくなることがあります。Talend Data Mapperを頻繁に実行する場合、これらのファイルが増大し、最終的にはディスクが満杯になってエラーが生じる可能性があります。このエラーが発生すると、ランタイムに失敗します。このような状況を避けるため、定期的にクリーニングを行ってください。詳細は、一時フォルダーや一時ファイルをクリーンアップをご覧ください。