機械翻訳について

大きいファイルの処理中の列の合計または行数の計算

ステージ・ファイル・アクションのセグメント内のファイルの読取り操作を使用して、大きなカンマ区切り値(CSV)ファイル(最大1 GB)を処理できます。 列の合計または行数の計算が必要な場合もあります。

次のペイロードについて考えてみます。 Amount1のすべての値の合計を計算するとします。 通常、ステージ・ファイル・アクションの上位変数を宣言し、ステージ・ファイル・アクションの各チャンクで行われる計算でこの変数を更新しておくことができます。

イメージは、Sno、Amount1、Amount2、Amount3およびAmount4の列を含む表を示しています。 各列は整数型であり、必須として識別されます。 各列の4行が表示されます。 前述のAmount1列には、100、200、300および400の値があります。

ただし、ステージ・ファイル・アクション・セグメント内のファイルの読取り操作内の上流変数の更新はパフォーマンスに影響し、ステージ・ファイル・アクションをパラレルに処理することはできません。 統合キャンバスで次の警告メッセージが表示されます:
Stage File Read File in Segments includes action that will result in segments being processed sequentially

このユースケースの解決策として、次のステップを実行して、大規模なファイルの処理中に集計関数sumおよび「カウント」を使用します:

  1. 統合キャンバスにステージング・ファイル・アクションを追加し、「セグメント内のファイルの読み取り」操作を選択して大きなファイルを読み取ります。
  2. 「セグメント内のファイルの読取り」操作を使用するステージ・ファイル・アクション内で、「ファイルの書込み」操作を使用する2番目のステージ・ファイル・アクションを作成し、「既存のファイルに追加」チェック・ボックスを選択します。
  3. 各セグメントの数と合計を取得し、2つ目のステージ・ファイル・アクションに結果を書き込みます。
    • count ($StageSegments/.../Record)
    • sum ($StageSegments/..Record/ns22:Amount1)
  4. 「セグメント内のファイルの読み取り」操作を使用したステージ・ファイル・アクションの完了後、「ファイルのリスト」操作を使用してステップ2で作成されたファイルをリストするステージ・ファイル・アクションを作成します。 ステージ・ファイル・アクション「ファイルのリスト」操作のレスポンスには、ファイル・サイズが含まれます。 ファイル・サイズによって、次に実行するアクションが決まります。
  5. ファイル・サイズが10 MB未満の場合は、「全体ファイルを読む」操作を使用するステージング・ファイル・アクションを使用してファイルを読み取り、総計を格納する変数を含む割当てアクションを作成します。
  6. それ以外の場合は、ステップ1からステップ4を新しいファイルで繰り返します。