V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zh584728
V2EX  ›  程序员

读取大文件,几百 G 的那种,怎样建立索引来提高读取速度

  •  
  •   zh584728 · 2019-02-20 09:33:42 +08:00 · 4486 次点击
    这是一个创建于 2096 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想给文件建立一个索引文件,不知道用什么方法,还是说索引规则可以自己确定?

    9 条回复    2019-02-20 21:27:41 +08:00
    sep19
        1
    sep19  
       2019-02-20 10:04:29 +08:00
    你表述不够清晰。 几百 G 的文件,用 Hadoop 处理,离线建索引,几十分钟就可以了。
    mortonnex
        2
    mortonnex  
       2019-02-20 10:10:20 +08:00 via iPhone
    如果你的意思是你需要随机读,那么存 offset 就可以
    zh584728
        3
    zh584728  
    OP
       2019-02-20 10:55:39 +08:00
    @sep19 #1 懂了,我只是想读取一个文件快一些,而又不想使用数据库,我网上查的是使用 DHF5 存储

    @mortonnex 多谢回复,不算随机读,类似于数据库查询,查完一条后查询下一条的时候又不想从文件头开始读取,em...有点像 seek 函数的方法哈,就是文件比较大,文件指针指来指去比较费 cpu
    xylophone21
        4
    xylophone21  
       2019-02-20 13:58:05 +08:00
    几百 G 了,不想使用数据库的原因是什么?感觉自己实现个索引肯定不如数据库做的好。还是说你想搞明白数据库建索引的实现。
    ps1aniuge
        5
    ps1aniuge  
       2019-02-20 15:36:39 +08:00
    支持 4 楼。导入数据库,分字段,按字段索引。打散数据=结构清晰。不打散=一团乱麻。
    Variazioni
        6
    Variazioni  
       2019-02-20 17:22:03 +08:00
    @zh584728 兄台。。纠正一下。。那个叫 HDFS。。大概用的是手写输入法?
    lyc1116
        7
    lyc1116  
       2019-02-20 17:29:54 +08:00
    @Variazioni 他的意思是 hdf5
    xomix
        8
    xomix  
       2019-02-20 17:58:40 +08:00
    @Variazioni https://www.hdfgroup.org/solutions/hdf5/

    @zh584728 这玩意儿也是个数据库啊!!!
    Variazioni
        9
    Variazioni  
       2019-02-20 21:27:41 +08:00
    @xomix 还是我才疏学浅啊。。 =。=
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   982 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:51 · PVG 06:51 · LAX 14:51 · JFK 17:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.