V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mytry
V2EX  ›  程序员

有基于纯文本文件的数据查询引擎吗?

  •  
  •   mytry · 2019-03-24 18:07:40 +08:00 · 3085 次点击
    这是一个创建于 2096 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有一个巨大的文本文件(内容是日志),每条记录按换行分隔(每行的长度不固定),并且第一列是时间(当然是递增的)。

    有没有这样的查询引擎,能根据给定的时间范围,通过对文件二分搜索,快速定位到时间范围内的数据记录?而无需扫描整个文件内容。
    16 条回复    2019-06-27 23:26:07 +08:00
    cyspy
        1
    cyspy  
       2019-03-24 18:51:08 +08:00
    timecat?
    ebingtel
        2
    ebingtel  
       2019-03-24 19:08:02 +08:00
    awk 写一下 shell 应该可以的
    des
        3
    des  
       2019-03-24 19:20:53 +08:00
    每行的长度不固定,你怎么二分?
    除非预先建索引
    des
        4
    des  
       2019-03-24 19:22:50 +08:00
    倒是偶尔手动二分过,用 split -l
    geelaw
        5
    geelaw  
       2019-03-24 19:24:13 +08:00 via iPhone
    @des #3 一个简单的思路是假设各行的长度是平均长度的 Theta(1) 倍,然后二分 seek 文件位置之后先“吸附”到附近的折行处再继续处理。

    不过巨大是多大才值得实现这个算法又是另一回事儿。
    des
        6
    des  
       2019-03-24 19:29:13 +08:00
    @geelaw
    这个倒是不错的方法,可以写个脚本来做,应该不算太费事
    idcspy
        7
    idcspy  
       2019-03-24 23:11:44 +08:00   ❤️ 1
    本站有朋友开发了,归海数据引擎。
    xlmo
        8
    xlmo  
       2019-03-24 23:32:44 +08:00
    rekulas
        9
    rekulas  
       2019-03-24 23:47:49 +08:00
    感觉比较简单 自己写个脚本就可以实现了
    xenme
        10
    xenme  
       2019-03-25 03:49:39 +08:00 via iPhone
    直接丢进 splunk

    只是分割的话,之前我都是 seek,按照 @geelaw 差不多的思路,预判前后移动分割

    之前日志数量级大概都在几个 G 左右的 csv 文件吧,速度还不错。
    mmdsun
        11
    mmdsun  
       2019-03-25 07:36:12 +08:00 via Android
    文档查询推荐 solr 二次开发
    jorneyr
        12
    jorneyr  
       2019-03-25 08:00:33 +08:00   ❤️ 1
    手动的话第一步建立索引,第二步就是使用索引定位小范围搜索了。
    或者导入 MySQL 对时间建立索引,也可以使用全文搜索引擎如 Solr,ElasticSearch 等。
    mytry
        13
    mytry  
    OP
       2019-03-25 08:30:04 +08:00
    @xlmo 这个能根据事先已排序的某个列(比如时间)进行高速查询吗?增删改都可以不用。
    defaultuser
        14
    defaultuser  
       2019-03-25 08:39:19 +08:00
    一般先建索引,ElasticSearch 或者 Splunk 都可以
    bypythoncom
        15
    bypythoncom  
       2019-03-25 14:13:10 +08:00
    大佬,你这是。。。这个不就写个脚本几行代码的事吗?莫非其中有什么蹊跷
    ddup
        16
    ddup  
       2019-06-27 23:26:07 +08:00
    @idcspy #7 +1 推荐归海数据
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1013 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:23 · PVG 05:23 · LAX 13:23 · JFK 16:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.