美文网首页
1g内存如何处理10G文件内容

1g内存如何处理10G文件内容

作者: swoft_ | 来源:发表于2019-08-01 19:29 被阅读0次

思路:

  1. 文件进行拆分
  2. 每个小文件进行排序
  3. 多个小文件执行多路归并合成一个文件,只需要归并找出最小(最大的值)顺序写入文件即可。获取到的文件即是想要的结果。

文件根据大小进行拆分

以行数拆分 -l参数:

split –l 50 原始文件 拆分后文件名前缀

以大小拆分 -b参数:

split –b 50 原始文件 拆分后文件名前缀

排序

排序的方式有很多,下面是快排的实现


image.png

多路归并合成一个文件

image.png

如果需要统计出现的次数,需要加一个权值。
合并完之后,需要从新排序,找出前几的操作。

相关文章

  • 1g内存如何处理10G文件内容

    思路: 文件进行拆分 每个小文件进行排序 多个小文件执行多路归并合成一个文件,只需要归并找出最小(最大的值)顺序写...

  • 海量数据处理

    如何从10G文件中统计出出现次数最多的QQ号,内存只有1G,外存无限。 可以逐行文件中的QQ号,然后hash到20...

  • 小文件读写,千万不要用NIO

    都知道NIO在读取大文件的时候都比较快。但是在小文件的写入就不是这样了(这个例子源于使用1G的内存如何找到10G大...

  • 大文件排序的问题(一)

    题目 内存只有1G,有一个10G的文件,里面保存的是UUID(固定48位),需要对UUID排序 快速排序的空间复杂...

  • 6-文件/目录操作

    操作文件内容 读取文件 调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了, 可以反复调用r...

  • 10G数据,1G内存,如何排序?

    外部排序问题 当数据量超过内存量,通过一般意义上的排序算法已经不能胜任排序工作了。我们需要借助于外存,保留我们排序...

  • pika常见故障排查

    一、告警处理 1.内存告警 类型一、缓慢上涨到10G,可能出现内存泄露的情况。 类型二、 瞬间内存上涨到10G。 ...

  • 减小dataframe占用内存

    Kaggle比赛中常用在做分析时,处理近2G的一个CSV文件,10G内存的机器感觉内存不够用,找到了这个函数,效果...

  • golang读写文件

    抗压测试的时候多线程需要使用一个文件的内容频繁发送,所以想预处理文件内容到内存,分段发送,1.读取文件内容到内存 ...

  • 注册中国烹饪大师新疆梁志伟天天美食课堂

    大豆土司虾仁 配料: 虾仁200g、胡椒粉1g、淀粉10g、红椒10g、香菇15g、盐3g、葱10g、姜10g、鸡...

网友评论

      本文标题:1g内存如何处理10G文件内容

      本文链接:https://www.haomeiwen.com/subject/oygcdctx.html