首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 疯了!请csdn的高手帮解 [已结贴,结贴人:syg_1982]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 16:53:28 楼主
    小弟现在做一个文件分析程序,目标是把300多每个2G的文件进行按行数据筛选,请问高手大约需要多长时间能读完?怎样能提高读取的速度?
    我处理完发现需要一周左右能筛选完成,速度很致命,小弟黔驴技穷,请大家指点如何能提高目前这种需求下的效率?严重感谢大家!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mayuanfei
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:05:221楼 得分:2
    用多线程处理.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • justinavril
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:11:192楼 得分:2
    这个我没什么经验了...我顶起来吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:11:253楼 得分:0
    多线程是种思路,可是需要轮番等待cpu时间,线程多了和单线程执行的效率是差不多的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:13:584楼 得分:0
    多线程也需要等待cpu时间啊,这和单线程时间上会有很大区别吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cool_scorpion
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:17:005楼 得分:2
    用C/C++实现
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:23:236楼 得分:0
    引用 5 楼 cool_scorpion 的回复:
    用C/C++实现


    呜呜,小弟只会java啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liujiaqwer
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:25:147楼 得分:2
    嗯嗯。。问题很严重啊。。顶起先
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • d8111
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:27:028楼 得分:2
    NIO,这么大的io操作,你可以看看NIO包,内存映射的做法,然后 多线程跑就是了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wargrey
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 17:27:239楼 得分:2
    技多不压身,学吧,有java基础很容易上手。

    与其没有办法,还不如学写新东西,至少能有点其他思路
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lxzooz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 18:35:2210楼 得分:2
    学习,帮顶一下。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wrong1111
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 19:54:4511楼 得分:2
    期待牛人出现,,,,,,,,,,,


    关注中..........帮顶一下!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jabeginner
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 20:09:5312楼 得分:2
    在Java中提供的容器好像是很难满足这种大数据的出理,
    能否借助第三方的组件来处理呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sky_ccy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 20:15:5313楼 得分:2
    加搜索引擎呀,,兄弟,呵呵,,开源的有luence呀,,不然会搞死电脑的,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sky_ccy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 20:17:3614楼 得分:2
    强烈推荐搜索引擎,,银行系统的数据真他妈的的多,,要找出关于某个客户的字段妈的要人命的,,我通常都是用搜索引擎来做的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bao110908
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      3

    发表于:2008-08-19 20:29:4015楼 得分:2
    不知道你的数据是啥样的,也不知道你要做些什么操作。

    问题描述仅仅是 300 个 2G 文件筛选,呵呵很无厘头的东西。

    另外,磁盘的磁头只有一个,所以采用多线程的方式可以不用去考虑了。比方说用两个线程
    同时读取两个文件,这两个文件在磁盘上的位置肯定是不相同的,线程执行时磁头就等于一
    会儿移到这里一会儿移到那里,我不认为这样比分两次读取文件的效率要高。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhj92lxs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 20:39:4916楼 得分:2
    看高人解答
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • willowflx
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 21:00:1617楼 得分:2
    期待高人解决,帮你顶啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youzy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 21:01:3618楼 得分:2
    多线程,LZ找相关资料看看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wensheng_zh2007
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 22:16:4719楼 得分:2
    期待着
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 22:46:5820楼 得分:0
    有人说使用NIO的内存文件映射,可是我现在需要按行读取文件以便分析,在NIO中没有找到有readLine()方法,是不是内存映射机制不能readLine()呢?期待大家给出答案,分不够小弟再加。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 22:49:2821楼 得分:0
    另:多线程小弟已经试过了,起不到效果。所以现在只能考虑内存文件映射机制了,但是瓶颈在于如何能在实现该机制的同时,实现按行而不是按字节读取文件呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiao7cn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 23:49:3722楼 得分:2
    可以考虑用多线程,因为I/O太频繁,可以提高CPU利用率。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yirentianran
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 08:13:0023楼 得分:2
    引用 16 楼 zhj92lxs 的回复:
    看高人解答
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 08:56:1624楼 得分:0
    继续等待牛人......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cuijie_cn
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 09:40:5625楼 得分:2
    没玩过,关注ing
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youjianbo_han_87
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 09:52:2526楼 得分:2
    到sun网站上给他们发个mail,告诉他们,jdk的io操作太烂了,300个2G文件竟然要处理1周,然后把你的问题描述下,翻译下,过几天肯定有人给你解答了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • syg_1982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 09:58:2627楼 得分:0
    引用 26 楼 youjianbo_han_87 的回复:
    到sun网站上给他们发个mail,告诉他们,jdk的io操作太烂了,300个2G文件竟然要处理1周,然后把你的问题描述下,翻译下,过几天肯定有人给你解答了


    呵呵,貌似这个不中。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ele_gant
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:21:1228楼 得分:2
    o(∩_∩)o...  学习  帮顶下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhuyx808
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:24:1829楼 得分:2
    mark 等高人
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kkkgho
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:37:4230楼 得分:2
    引用 26 楼 youjianbo_han_87 的回复:
    到sun网站上给他们发个mail,告诉他们,jdk的io操作太烂了,300个2G文件竟然要处理1周,然后把你的问题描述下,翻译下,过几天肯定有人给你解答了

    太搞了吧……
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lunaticbaby
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:58:1131楼 得分:2
    没处理过的问题,顶起
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天