形式に誤りのある入力レコードの管理

形式に誤りのあるレコードとは、Spectrum™ Technology Platform がパースできないレコードのことです。Spectrum™ Technology Platform は、形式に誤りのあるレコードを検出すると、次の 1 つ以上の処理を行います。

  • ジョブを停止する
  • 処理を続行する
  • 不正なレコードが一定の数だけ検出されるまで処理を続行する
  • 不正なレコードを (オプションのシンク ステージによって) ログ ファイルに書き出して処理を続行する
注: 形式に誤りのあるレコードに対する機能は、サーバー上にあるファイルを読み込み、ソートが設定されていないソースに対してのみ適用されます。ソースにリモート ファイルが設定されているか、ソート フィールドが設定されている場合は、形式に誤りのあるレコードが検出されると、形式に誤りのあるレコードに対する設定に関わらず、ジョブは終了します。

形式に誤りのあるレコードを管理するには

  1. Enterprise Designer でジョブを開きます。
  2. 形式に誤りのあるレコード シンクをデータフローに追加します。
    1. 入力ファイルおよびソース ステージを定義し、データフローにサービスおよびサブフローを追加することにより、ジョブを作成します。
    2. 以下のいずれかの方法を実行します。
      • データフローのソース ステージのオプションの出力ポートに、シンク ステージを接続します。オプションのポートとは、ソース ステージの黒い出力ポートのすぐ下にある白抜きの出力ポートのことです。このポート上にマウスを合わせると、"error_port" と記されたツール チップが表示されます。形式に誤りのあるレコードは、このシンクに書き出されます。
      • データフローのソース ステージのオプションの出力ポートに何も接続しません。この場合、Spectrum™ Technology Platform は形式に誤りのあるレコードを無視します。

    完成したデータフローは次のようになります。

    ジョブを実行すると、[実行履歴] にはジョブの実行中に検出された形式に誤りのあるレコードの数を示す列が表示されます。

  3. デフォルトでは、Spectrum™ Technology Platform は形式に誤りのあるレコードを検出するとジョブを終了します。このデフォルトの動作は、Management Console で変更できます。システムのデフォルトの動作にかかわらず、ジョブのデフォルトの動作を以下の手順でオーバーライドすることができます。
    1. Enterprise Designer でジョブを開きます。
    2. 開いているジョブ内で、[編集] > [ジョブ オプション] を選択します。
    3. [形式に誤りのあるレコードでジョブを停止しない] を選択するか、または [形式に誤りのあるレコードを次の個数検出した時点でジョブを停止] を選択して、ジョブを停止するまでに検出してもよい形式に誤りのあるレコードの数を入力します。