为了对一个大的文本文件进行并行解析处理,需要按照固定的大小或者行数的方式对文件进行拆分,这样可以加快处理速度,可以的分块方案如下:
1、 按照特定字节大小将文件分割为若干逻辑块,如果小于分块大小的合并到其中一个分块中,以上例子记录了分块大小为100字节的例子,最后一个分块大小为101字节
2、 每个分块需要记录<开始位置,分块长度,所在文件>
3、 可能会产生的预知结果是某些行被割裂在不同的分块中
针对按字节分块时可能产生的情况,列举了如下几种:
解决方案:
开始读取时,如果不是第一个分段,则将读取位置-1(以便检查前一个分段的最后一个字符是否是换行符),然后将读取到的第一行直接抛弃掉,从第二行开始真正读取。