メイン コンテンツをスキップする 補完的コンテンツへスキップ

シナリオをジョブに変換

このシナリオを実装するには、ジョブに関する次の4つのステップが必要です。

  1. ジョブの作成、入力データのスキーマの定義、定義済みスキーマを基にした入力ファイルの読み取り。
  2. 出力ストリーム機能を有効にするコマンドの設定。
  3. tMapコンポーネントを使ったデータのマッピング。
  4. 選択したデータストリームの出力。
終了したジョブは次の画像のようになります。ジョブのデザインの詳細は、次のセクションをご覧ください。
Designerでのジョブのスクリーンショット。

ステップ1: ローカルファイルから入力データを読み取り

tFileInputDelimitedコンポーネントを使って、入力データとしてcustomers.csvファイルを読み取ります。このコンポーネントは、[Palette] (パレット)[File/Input] (ファイル/入力)グループにあります。

Procedure

  1. tFileInputDelimitedコンポーネントをデザインワークスペースに配置してダブルクリックし、[Basic settings] (基本設定)ビューを開いて、プロパティを設定します。
    コンポーネントの基本設定のスクリーンショット。
  2. [File name/Stream] (ファイル名/ストリーム)の横にある[...]ボタンをクリックし、入力データファイルのパスを参照して選択します。入力データファイルのパスは手動で入力することもできます。
  3. [Edit schema] (スキーマを編集)をクリックしてダイアログボックスを開き、入力ファイルのファイルストラクチャーを設定します。
  4. [ + ]ボタンをクリックしてカラムを6つ追加し、タイプとカラム名を次のスクリーンショットにある値に設定します。
    カラムは次のように定義されます: idカラム(Integer型)、CustomerNameカラム(String型)、CustomerAgeカラム(Integer型)、CustomerAddressカラム(String型)、CustomerCityカラム(String型) 、RegisterTimeカラム(Date型)
  5. OKをクリックしてダイアログボックスを閉じます。

ステップ2: 出力ストリーム機能を有効にするコマンドを設定

tJavaを使って、出力ファイルと、そのファイルを含むディレクトリーを作成するコマンドを設定します。

Procedure

  1. tJavaコンポーネントをデザインワークスペースに配置してダブルクリックし、[Basic settings] (基本設定)ビューを開いて、プロパティを設定します。
    コンポーネントの基本設定のスクリーンショット。
  2. [Code] (コード)エリアに次のコマンドを入力します。
    new java.io.File("C:/myFolder").mkdirs(); 
    globalMap.put("out_file",new java.io.FileOutputStream("C:/myFolder/customerselection.txt",false));
    情報メモTip:

    このステップで入力したコマンドにより、出力ファイルcustomerselection.txtを保存するための新規ディレクトリーC:/myFolderが作成されます。実際の状況に応じて、コマンドをカスタマイズできます。

  3. [Trigger] (トリガー) > [On Subjob Ok]接続を使って、tJavatFileInputDelimitedを接続します。
    tJavaが実行に成功すると、tFileInputDelimitedで始まるサブジョブがトリガーされます。
    Designerでのジョブのスクリーンショット。

ステップ3: tMapコンポーネントを使ってデータをマッピング

Procedure

  1. tMapコンポーネントをデザインワークスペースに配置してダブルクリックし、[Basic settings] (基本設定)ビューを開いて、プロパティを設定します。
    コンポーネントの基本設定のスクリーンショット。
  2. [Map Editor] (マップエディター)の横にある[...]ボタンをクリックし、ダイアログボックスを開いて、マッピングを設定します。
  3. 左側の[+]ボタンをクリックし、入力側データのスキーマのためにカラムを6つ追加します。これらのカラムは次の画像と同じでなければなりません:
    次のカラムを持つスキーマのスクリーンショット: idカラム(Integer型)、CustomerNameカラム(String型)、CustomerAgeカラム(Integer型)、CustomerAddressカラム(String型)、CustomerCityカラム(String型) 、RegisterTimeカラム(Date型)
  4. 右側の[+]ボタンをクリックし、出力側データフローのスキーマを追加します。
  5. [New output] (新規出力)を選択し、[OK]をクリックして、出力スキーマを保存します。

    現在のところ、出力スキーマはまだ空の状態です。

  6. out1テーブルの下にある[+]ボタンをクリックし、出力データのカラムを3つ追加します。
    3つのカラムが定義されている[Map Editor] (マップエディター)のスクリーンショット。
  7. idCustomerNameCustomerAgeの各カラムを右側のそれぞれの行に配置します。
    カラムマッピングのスクリーンショット。
  8. [OK]をクリックして、設定を保存します。

ステップ4: 選択したデータストリームを出力

Procedure

  1. tFileOutputDelimitedコンポーネントをデザインワークスペースに配置してダブルクリックし、[Basic settings] (基本設定)ビューを開いて、コンポーネントのプロパティを設定します。
  2. [Use Output Stream] (出力ストリームを使用)チェックボックスをオンにし、[Output Stream] (出力ストリーム)フィールドを有効にして、[Output Stream] (出力ストリーム)フィールドに次のコマンドを入力します:
    (java.io.OutputStream)globalMap.get("out_file")
    情報メモNote:

    [Output Stream] (出力ストリーム)フィールドのコマンドは、[Ctrl] + [Space]を押して、リストから組み込みコマンドを選択するか、実際の状況に従って、フィールドにコマンドを手動で入力します。このシナリオでは、[Output Stream] (出力ストリーム)フィールドで使用するコマンドにより、java.io.OutputStreamクラスが呼び出され、絞り込んだデータストリームを、tJava[Code] (コード)エリアで定義するローカルファイルに出力します。

  3. [Row] (行) > [Main] (メイン)接続を使ってtFileInputDelimitedtMapに接続し、tMap[Map Editor] (マップエディター)で定義する[Row] (行) > [out1]接続を使ってtMaptFileOutputDelimitedに接続します。
  4. [Sync columns] (カラムを同期)タブをクリックし、先行コンポーネントで定義されているスキーマを取得します。
  5. tLogRowコンポーネントをデザインワークスペースに配置してダブルクリックし、[Basic settings] (基本設定)ビューを開きます。
  6. [Mode] (モード)エリアの[Table] (テーブル)ラジオボタンを選択します。
  7. [Row] (行) > [Main] (メイン)接続を使って、tFileOutputDelimitedtLogRowに接続します。
  8. [Sync columns] (カラムを同期)タブをクリックし、先行のコンポーネントで定義されているスキーマを取得します。

    これで、このジョブを実行する準備ができました。

    Designerでのジョブのスクリーンショット。
  9. Ctrl+Sを押してジョブを保存し、F6を押して実行します。

    選択したデータの内容がコンソールに表示されます。

    ジョブの実行に成功した後のコンソールのスクリーンショット。

    選択したデータは、指定したローカルファイルのcustomerselection.txtにも出力されます。

    customerselection.txtファイルのコンテンツのスクリーンショット。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。