将大规模文本数据的每一行映射到指定数量的文本中,通过小文本的交集、差集计算从而实现两个大文件的交集、差集计算。
- 在run.sh文件中配置orig_file文件为待处理的文件;
- run.sh脚本将待处理文件通过split分割成很多小文件,放入到01_input文件夹中,便于Java多线程进行读取处理;
- 映射的原理,是读取每行文本,计算MD5值,将md5值的前4个字节进行计算处理,模上总的输出文件个数,得到该行文本应该写入的输出文件(即所谓的槽),如果两个字符串相同,则对应的文件槽一定相同,不一样的字符串,可能也是相同的槽。 该功能对应在: com.hellomyboy.processor.DataFileReader.java