ソートマージ


5.20.2 methodオペランド

意味

分割基準を指定します。

形式
method={reccnt|filesize}
指定値
reccnt

入力ファイルのレコード件数と,出力ファイル数を基に算出した平均レコード数でファイルを分割します(レコード数が均等となるように分割します)。

filesize

入力ファイルのファイルサイズと,出力ファイル数を基に算出した平均ファイルサイズでファイルを分割します(ファイルサイズが均等となるように分割します)。なお,Windowsの場合,ファイルサイズは「ディスク上のサイズ」ではなく,UNIXと同様に,ファイルに格納されているレコードの合計サイズとなります。

注意事項
  • 次のどちらかに該当する場合,分割できる最小単位で分割します。詳細については,指定例の3.,4.,および5.を参照してください。該当する場合,指定したファイル数よりも少ないファイル数が作成されます。

    ・reccnt指定時,入力ファイルのレコード数がfilenoオペランドで指定した値よりも少ない。

    ・filesize指定時,分割後のファイルサイズが入力ファイルのレコード長より小さい。

  • レコードの途中で分割することはありません。

  • filesize指定時,レコードの途中が分割位置となったレコードは,次の分割ファイルに格納します。詳細については,指定例の6.を参照してください。

指定例
  1. レコード件数を基に,10個のファイルに分割します。

    入力ファイル

     レコード件数:500件

    パラメタ指定例

     -splitfile fileno=10 method=reccnt

    分割後のファイル

     ファイル数:10個

     各ファイルのレコード件数:50件

  2. ファイルサイズを基に,10個のファイルに分割します。

    入力ファイル

     ファイルサイズ:100MB

    パラメタ指定例

     -splitfile fileno=10 method=filesize

    分割後のファイル

     ファイル数:10個

     各ファイルのサイズ:10MB

  3. レコード件数を基に,20個のファイルに分割します。

    入力ファイル

     レコード件数:5件

    パラメタ指定例

     -splitfile fileno=20 method=reccnt

    分割後のファイル

     ファイル数:5個

     各ファイルのレコード件数:1件

  4. ファイルサイズを基に,50個のファイルに分割します。

    入力ファイル

     ファイルサイズ:10KB

     レコード長:1KB

    パラメタ指定例

     -splitfile fileno=50 method=filesize

    分割後のファイル

     ファイル数:10個

     各ファイルのサイズ:1KB

  5. ファイルサイズを基に,5個のファイルに分割します。

    入力ファイル

     ファイルサイズ:10KB

     レコード件数:6件

     レコード長:1件目…1KB

     レコード長:2件目…1KB

     レコード長:3件目…1KB

     レコード長:4件目…1KB

     レコード長:5件目…3KB

     レコード長:6件目…3KB

    パラメタ指定例

     -splitfile fileno=5 method=filesize

    分割後のファイル

     ファイル数:4個

     1個目のファイルのサイズ:2KB

     2個目のファイルのサイズ:2KB

     3個目のファイルのサイズ:3KB

     4個目のファイルのサイズ:3KB

  6. ファイルサイズを基に,2個のファイルに分割します。

    入力ファイル

     ファイルサイズ:10KB

     レコード長:2KB

    パラメタ指定例

     -splitfile fileno=2 method=filesize

    分割後のファイル

     ファイル数:2個

     1個目のファイルのサイズ:4KB

     2個目のファイルのサイズ:6KB

関連パラメタ
  • -splitdata

  • -splitkey

  • -splitinp

  • -splitout

  • -splittmpdir