我在StackOverflow上找到了一些答案,但没有一个完全符合我的需要。
我正在编写一个Ruby脚本,通过一个特定的键在大型CSV文件中查找行(每个文件约500 MB和1 M条记录)。grep
命令在1个文件中查找匹配项需要15-30分钟。
我有400多个文件,我每天都要运行几十个搜索。
我需要一个简单、灵活且经济实惠的解决方案来搜索文件。
- 我不想将CSV上载到健壮的数据库引擎。
- 我不想为ElasticSearch这样的服务付费。
- 我需要适应不同的列配置和不同的键定期,以最小的努力。
- 我需要对文件的只读访问权限。不需要修改和删除。因此,索引只建立一次,不需要进一步修改。
1条答案
按热度按时间dkqlctbz1#
我终于花了1天的时间开发了这个解决方案:CSV索引器。
CSV-Indexer不如Lucene健壮,但它简单且经济高效。可以对数百万行的文件进行索引,并在几秒钟内找到特定的行。
在此处查找完整文档和示例:
https://github.com/leandrosardi/csv-indexer