用Java处理数据量较大的文件 java大数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最简单容易想到的思路:类似于两个list当然不是说把所能的数据读到list里,而是从文件一读一条然后循读文件二进行比较内存耗的少,速度慢 这个问题你昨天就发过了吧。。反正昨天好像看到过。。一次型全部装入内存是不行的,那么我们能不能根据txt来创建一个索引呢?就比如能不能根据id的前两位把数据分放到多张表中(根据id前两位明明表名或者文件名)。查询的时候,遍历一个文件,先查10开头的文件,然后11,然后12.。。 1、笨办法从1里面找第一行的 id ,找到1里面是否还有id跟第一行一样,把一样的取出来然后遍历 2里面的id,如果找到 把记录取出来保存。2、优化一下每次匹配完成后 把1 跟 2 里面对应的记录删掉,这样的话越往后文件越来越小,效率会越来越高 1. 两个500w文件塞进内存应该不夸张吧?2. 如果实在不行,遍历小的那个文件,建立user_id - 行数的索引放在内存,然后在根据索引内容和第二个文件做连接3. 如果实在还是不行,建立第一个索引以后再建一个索引,然后两个索引做连接4. 如果实在还不行,请砸键盘 用hadoop吧 适合处理大数据 百度 lucene 全文检索倒序索引 对你有帮助的如果数据只用一次的话,最快最好的方法就是暴力搜索。如果考虑数据以后需要维护增删改查,那就要见索引了。 用了4L大大的办法成了……我觉得这个也可行,不过没试,但是IO操作耗时啊,所以可以攒够了一堆再删? 菜鸟求助~ java中怎么去除数值.0后缀? 关于spring 注入......................我希望 一个关于java.lang.ClassCastException: java.lang.Class的问题 怎么样用java实现橡皮擦动能?在线等待!!! Gui 如何利用JTbale实现关系并操作 很傻的问题 java.lang.BigDecimal谁用过他??? 文件读写 java如何运行 final和static final有何区别? 这段时间的一些笔试题。
当然不是说把所能的数据读到list里,
而是从文件一读一条然后循读文件二进行比较
内存耗的少,速度慢
反正昨天好像看到过。。
一次型全部装入内存是不行的,
那么我们能不能根据txt来创建一个索引呢?
就比如能不能根据id的前两位把数据分放到多张表中(根据id前两位明明表名或者文件名)。
查询的时候,遍历一个文件,先查10开头的文件,然后11,然后12.。。
然后遍历 2里面的id,如果找到 把记录取出来保存。2、优化一下每次匹配完成后 把1 跟 2 里面对应的记录删掉,这样的话越往后文件越来越小,效率会越来越高
倒序索引
对你有帮助的如果数据只用一次的话,最快最好的方法就是暴力搜索。如果考虑数据以后需要维护增删改查,那就要见索引了。
我觉得这个也可行,不过没试,但是IO操作耗时啊,所以可以攒够了一堆再删?