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

ジョブを設定

親ジョブを設定

Procedure

  1. [Context] (コンテキスト)ビューで:
    1. 以下の3つの変数を追加します:
      • filename、文字列型
      • table_name、文字列型
      • directory、ディレクトリー型
    2. 変数ディレクトリーの[Value] (値)フィールドをクリックして、[directory] (ディレクトリー)を指定します。表示される小さなボタンをクリックして、ソースファイルが保存されているディレクトリーを参照します。
      [Context] (コンテキスト)ビューのスクリーンショット。
  2. tFileListコンポーネントの[Basic settings] (基本設定)ビューで、[Directory] (ディレクトリー)フィールドにcontext.directoryディレクトリーを埋めます。
    情報メモTip: フィールド内をクリックし、[Ctrl] + [Shift]キーを押して、使用可能な変数のリストにアクセスします。
  3. tIterateToFlow コンポーネントをダブルクリックし、[Basic settings] (基本設定)ビューを開いて、以下のようにコンポーネントを設定します:
    1. スキーマエディターでfilename(文字列型)という名前のカラムを追加します。
    2. [Mapping] (マッピング)テーブルの[Value] (値)フィールドに、tFileListコンポーネントによって生成されたCURRENT_FILEグローバル変数を((String)globalMap.get("tFileList_1_CURRENT_FILE"))の形式で入力します。
  4. tFixedFlowInputコンポーネントをダブルクリックし、[Basic settings] (基本設定) ビューを開き、コンポーネントを設定します:
    1. スキーマに2つのカラムを追加します: file_name(文字列型)およびtable_name(文字列型)。
    2. [Use Inline Table] (インラインテーブルを使用)オプションを選択し、テーブルで次のファイルからテーブルへのマッピングを定義します:
      file_name table_name
      "customer_details.csv" "customer"
      "delivery_details.csv" "delivery"
      "employee_details.csv" "employee"
  5. tMapコンポーネントをダブルクリックして、マップエディターを開きます。マップエディターで:
    1. (tIterateToFlowコンポーネントからの)テーブルrow1filenameカラムをドラッグし、(tFixedFlowInputコンポーネントからの)テーブルrow2file_nameカラムにドロップして、2つのテーブルを結合してファイル名を検索します。
    2. スパナボタンをクリックして結合プロパティを表示し、次の設定を行います:
      • [Match Model] (マッチモデル)[Unique match] (ユニークマッチ)
      • [Join Model] (結合モデル)[Inner Join] (内部結合)
    3. スキーマエディターで、outテーブルに2つのカラムを追加します: tablename(文字列型)およびfilename(文字列型)。
    4. テーブルrow1filenameカラムをドラッグし、テーブルoutfilenameカラムにドロップします。
    5. テーブル row2table_nameカラムをドラッグして、、テーブルouttablenameカラムにドロップします。
      マップエディターのスクリーンショット。
    6. [OK]をクリックして設定を検証し、マップエディターを閉じます。
  6. tJavaRowコンポーネントをダブルクリックし、[Code] (コード)フィールドに次のコードを入力します。
    context.tablename = out.tablename;
    context.filename = out.filename;
  7. tRunJobコンポーネントの[Basic settings] (基本設定)ビューでは、以下のようになります:
    1. Jobフィールドの横にある[...]ボタンをクリックし、このサンプルの[Repository Content] (リポジトリーコンテンツ)ダイアログボックス、LoadDynamicSchemaChildから子ジョブを選択します。
    2. コンテキスト変数を子ジョブに渡すには、[Transmit whole context] (コンテキスト全体の送信)オプションを選択します。
  8. Ctrl + Sを押し、ジョブを保存します。

子ジョブの設定

Procedure

  1. [Context] (コンテキスト)ビューで、次の3つの変数を追加し、値を未定義のままにします。
    • filename、文字列型
    • tablename、文字列型
    • directory、文字列型
  2. tFileInputDelimitedコンポーネント(ラベル付きInput_file)をダブルクリックして、[Basic settings] (基本設定)ビューを開き、コンポーネントを次のように設定します:
    • スキーマエディタを開きカラム[data] (データ)を追加し、その型を[Dynamic] (動的)に設定します。
      スキーマエディターのスクリーンショット。
    • Fillファイルアクセス用に定義されたコンテキスト変数を使用して[File name/Stream] (ファイル名/ストリーム)フィールドに入力します: context.directory+context.filename.
      情報メモTip: フィールド内をクリックし、[Ctrl] + [Shift]キーを押して、使用可能な変数のリストにアクセスします。
    • [Header] (ヘッダー)フィールドで、スキップするファイルの先頭の行数を指定します。

      このサンプルでは、各ファイルの最初の行がヘッダー行です。

    • その他の設定はデフォルトのままにします。
    コンポーネントの基本設定のスクリーンショット。
  3. tDBOutputコンポーネント(ラベル付きWrite_to_DB)をダブルクリックして、[Basic settings] (基本設定)ビューを開き、コンポーネントを次のように設定します:
    • データベース接続の詳細(ホスト名またはIPアドレス、ポート番号、データベース名、認証情報など)を指定します。
    • このサンプルでは、テーブル名に定義されたコンテキスト変数context.tablename[Table] (テーブル)フィールドに入力します。
    • [Action on table] (アクションテーブル)リストから[Default] (デフォルト)を選択します。
    • [Action on data] (データでのアクション)リストから、[Insert] (挿入)を選択します。
    • [Sync columns] (カラムを同期) をクリックして、スキーマが入力コンポーネントと同じであることを確認します:dataという名前の1つのカラムに[Dynamic] (動的)と入力します。
    • 他のオプションはデフォルトのままにします。
    コンポーネントの基本設定のスクリーンショット。
  4. Ctrl + Sを押し、ジョブを保存します。

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

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