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

2019-02-20 09:33:42 +08:00
 zh584728

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

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

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

@zh584728 这玩意儿也是个数据库啊!!!
Variazioni
2019-02-20 21:27:41 +08:00
@xomix 还是我才疏学浅啊。。 =。=

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/536770

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX