上亿条数据(GB级)文件去重解决方案

来源:互联网 发布:e.abchina.com js 编辑:程序博客网 时间:2024/06/03 05:07

1.准备待处理的文件

这里写图片描述

2.随便一个文件都有100000000条数据库,如果直接去重非常麻烦

这里写图片描述

3.一段php代码解决问题

define('FileIn', $argv[1]);$time_start = microtime(true);$count = 0;function dump($data){    echo "<pre>";    var_dump($data);    echo "</pre>";    die();}function order_ByF(){    $list = fopen(FileIn, "r");    while(! feof($list)){        $line= fgets($list);        $index = substr($line, 0, 1);        /*file_put_contents("OutData/{$index}.txt",$line.PHP_EOL,FILE_APPEND);*/        file_put_contents("OutData/{$index}.txt",$line,FILE_APPEND);        $count++;        echo "{$count}:{$index}:{$line}";    }}order_ByF();

4.使用方法

#php orderByF.php s.txt

5.使用后会按首字母生成多个文件,然后再按每个单独的文件去重

这里写图片描述

原创粉丝点击