C#实现大数据量TXT文本数据快速高效去重

简介: 原文 C#实现大数据量TXT文本数据快速高效去重对几千万的TXT文本数据进行去重处理,查找其中重复的数据,并移除。尝试了各种方法,下属方法是目前尝试到最快的方法。以下代码将重复和不重复数据进行分文件存放,提升效率的关键是用到了HashSet。
原文 C#实现大数据量TXT文本数据快速高效去重

对几千万的TXT文本数据进行去重处理,查找其中重复的数据,并移除。尝试了各种方法,下属方法是目前尝试到最快的方法。以下代码将重复和不重复数据进行分文件存放,提升效率的关键是用到了HashSet。
                TextReader reader = File.OpenText(m_dataFilePath);
                string[] files = new string[2];
                files[0] = ROOT_DIR + "不重复数据.txt";
                files[1] = ROOT_DIR + "重复数据.txt";
                TextWriter writer1 = File.CreateText(files[0]);
                TextWriter writer2 = File.CreateText(files[1]);
                string currentLine;
                int idx = 0;
                HashSet<string> previousLines = new HashSet<string>(new MyEqualityComparer());
                while ((currentLine = reader.ReadLine()) != null)
                {
                    if ((++idx % 10000) == 0)
                        UpdateInfo("正在比对第 " + idx + " 条数据…");
                    currentLine = currentLine.TrimEnd();
                    if (previousLines.Add(currentLine))
                    {
                        writer1.WriteLine(currentLine);
                    }
                    else
                    {
                        if(m_allSave)
                            writer2.WriteLine(currentLine);
                    }
                }
                reader.Close();
                writer1.Close();
                writer2.Close();
                reader.Dispose();
                writer1.Dispose();
                writer2.Dispose();

1000万数据的处理时间也就是转瞬之间,试试看?
相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
10月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
640 14
|
11月前
|
机器学习/深度学习 运维 监控
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
1084 0
|
10月前
|
传感器 人工智能 监控
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
309 14
|
10月前
|
机器学习/深度学习 传感器 监控
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
325 1
|
10月前
|
数据采集 自动驾驶 机器人
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
1034 1
|
11月前
|
机器学习/深度学习 监控 大数据
数据当“安全带”:金融市场如何用大数据玩转风险控制?
数据当“安全带”:金融市场如何用大数据玩转风险控制?
619 10
|
9月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
713 0
|
11月前
|
机器学习/深度学习 自然语言处理 监控
大数据如何影响新兴市场投资决策?——数据才是真正的风向标
大数据如何影响新兴市场投资决策?——数据才是真正的风向标
257 3
|
11月前
|
机器学习/深度学习 传感器 大数据
大数据真能治堵吗?聊聊交通行业用数据疏通“城市血管”
大数据真能治堵吗?聊聊交通行业用数据疏通“城市血管”
366 4