手順
-
[Palette] (パレット)から、tFileInputDelimited、tExtractXMLField、tFileOutputDelimited および tLogRowのコンポーネントをデザインワークスペースにドロップします。
[Row Main] (行メイン)リンクを使って、最初の3つのコンポーネントを接続します。[Row Reject] (行リジェクト)リンクを使用してtExtractXMLFieldをtLogRowに接続します。
-
tFileInputDelimitedをダブルクリックして、その[Basic settings] (基本設定)ビューを開き、コンポーネントのプロパティを定義します。
-
[Schema] (スキーマ)リストで[Built-in] (組み込み)を選択し、対応するフィールドにファイルメタデータを手動で入力します。
[Edit Schema] (スキーマの編集)の横にある3点ボタンをクリックすると、データの構造を定義できるダイアログボックスが表示されます。プラスボタンをクリックして、データ構造に必要な数のカラムを追加します。このサンプルでは、xmlStrというスキーマに1つのカラムがあります。[OK]をクリックして変更の妥当性チェックを行い、ダイアログボックスを閉じます。注:
[File delimited] (区切り記号付きファイル)の下の[Metadata] (メタデータ)フォルダーにスキーマを保存している場合は、[Schema] (スキーマ)リストから[Repository] (リポジトリー)を選択し、フィールドの横にある[...]ボタンをクリックし、[Repository Content] (リポジトリーのコンテンツ)ダイアログボックスを表示します。そこで、リストから関連するスキーマを選択します。[OK]をクリックしてダイアログボックスを閉じ、フィールドにスキーマメタデータを自動的に入力します。
[Repository] (リポジトリー)ツリービューにスキーマメタデータを保管する方法の詳細は、『 Talend Studioユーザーガイド』を参照してください。
-
[File Name] (ファイル名)フィールドで、3点ボタンをクリックし、処理する入力区切り記号付きファイル、このサンプルではCustomerDetails_Errorを参照します。
この区切り記号付きファイルには、二重改行で区切られた多数の単純XML行が含まれています。入力ファイルで使用されている行区切りおよびフィールド区切りを対応するフィールドに設定しますが、このサンプルでは前者には二重改行を使用し、後者には何も設定しません。必要に応じて、[Header] (ヘッダー)、[Footer] (フッター)、および[Limit] (制限)を設定します。このサンプルでは使用していません。
-
デザインワークスペースでtExtractXMLFieldをダブルクリックして[Basic settings] (基本設定)ビューを表示し、コンポーネントプロパティを定義します。
-
[Sync columns] (カラムの同期)をクリックして、先行のコンポーネントからスキーマを取得します。[Edit schema] (スキーマの編集)の横にある3点ボタンをクリックすると、スキーマを表示/変更できます。
[Mapping] (マッピング)テーブルの[Column] (カラム)フィールドには、定義されたスキーマが自動的に入力されます。
-
[Xml field] (XMLフィールド)リストで、XMLデータを抽出するカラムを選択します。このサンプルでは、XMLデータを保持するフィールドはxmlStrと呼ばれています。
[Loop XPath query] (ループXPathクエリー)フィールドに、ループしてデータを取得するXMLツリーのノードを入力します。
-
デザインワークスペースでtFileOutputDelimitedをダブルクリックして[Basic settings] (基本設定)ビューを開き、コンポーネントプロパティを表示します。
-
[File Name] (ファイル名)フィールドで、このサンプルではCustomerNames_right.csvに正しいデータを書き込む出力ファイルを定義するか参照します。
[Sync columns] (カラムの同期)をクリックして、前のコンポーネントからスキーマを取得します。[Edit schema] (スキーマの編集)の横にある3点ボタンをクリックすると、スキーマを表示/変更できます。
-
デザインワークスペースでtLogRowをダブルクリックして、その[Basic settings] (基本設定)ビューを表示し、コンポーネントプロパティを定義します。
[Sync columns] (カラムの同期)をクリックして、先行のコンポーネントからスキーマを取得します。このコンポーネントの詳細については、tLogRowを参照してください。
- ジョブを保存し、[F6]を押して実行します。
タスクの結果
tExtractXMLFieldによりクライアント情報のXML構造が正しく読み取られ抽出されたものは区切り記号付きファイル[CustomerNames_right]に出力され、エラーの発生したデータは[Run] (実行)ビューのコンソールに表示されます。