ソートマージ

[目次][用語][索引][前へ][次へ]

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