首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

在 256G 的巨大的二进制文件中匹配二进制子串,这适合交给 Hadoop 吗?谢

  •  
  •   aheadlead · 2014-12-25 10:45:30 +08:00 · 2493 次点击
    这是一个创建于 1727 天前的主题,其中的信息可能已经有所发展或是发生改变。
    20 回复  |  直到 2014-12-25 12:43:55 +08:00
        1
    vivid   2014-12-25 10:51:11 +08:00   ♥ 1
    fgrep 很快的 。昨天在一个100G的大文件中查找 也不慢啊。
    有上传这会,早结束了。
        2
    icedx   2014-12-25 10:52:19 +08:00 via Android   ♥ 1
    不适合...
        3
    aheadlead   2014-12-25 10:53:49 +08:00 via iPhone
    @vivid 如果是对查询要求1分钟内返回呢...我这机器多
        4
    aheadlead   2014-12-25 10:54:08 +08:00 via iPhone
    @icedx 有啥简单的解决方案吗
        5
    hahastudio   2014-12-25 10:59:23 +08:00   ♥ 1
    不适合吧?
    因为这个大文件你不能拆,在分发的时候就不好办
    如果刚好匹配结果被拆到两个分片呢?
    而且网络里传这个整块的大文件也会是噩梦= =

    不知道你是在什么场景下要做这件事情,试试其他的方案?不要匹配二进制子串呢?
        6
    aheadlead   2014-12-25 11:00:06 +08:00 via iPhone
    @hahastudio 这个大文件每台机器都有..
        7
    aheadlead   2014-12-25 11:00:32 +08:00 via iPhone
    @hahastudio 场景:折腾
        8
    aheadlead   2014-12-25 11:01:55 +08:00 via iPhone
    @hahastudio 匹配时分片可以有一定重合哇。
    重合的距离是关键词(用的ac自动机)最长的长度减一
        9
    hicdn   2014-12-25 11:02:02 +08:00   ♥ 1
    你首先得解决在文件切割时你的目标字符串不被截断问题
        10
    aheadlead   2014-12-25 11:03:33 +08:00 via iPhone
    @hicdn 见8楼
        11
    aheadlead   2014-12-25 11:05:15 +08:00 via iPhone
    @vivid 另外grep似乎不适合多字符串匹配
        12
    jerry2014   2014-12-25 11:06:16 +08:00   ♥ 1
    可以写个配置文件,指定不同偏移量,然后把配置文件提交给Hadoop。。。
        13
    aheadlead   2014-12-25 11:07:12 +08:00 via iPhone
    @jerry2014 请推荐一个hadoop快速入门指南 感谢🙏
        14
    hahastudio   2014-12-25 11:08:55 +08:00   ♥ 1
    @aheadlead 那都有的话其实也算好办啊
    你分发的就是分片的头尾,你已经想清楚头尾了啊

    其实我觉得这个场景连 hadoop 都不用,自己写一个简单的 master/slave,slave 就接受要搜索的范围和搜索内容,把结果返回给 master 就行了= =
        15
    aheadlead   2014-12-25 11:10:04 +08:00 via iPhone
    @hahastudio 有现成的工具吗..我已经在自己写了...但是最近考试太多...希望能尽快搞定
        16
    vivid   2014-12-25 11:14:59 +08:00
    @aheadlead 频繁使用
    1) 上传文件到hdfs
    2) 用bash + hadoop stream 尝试,机器多 1分钟内绝对可以完成的啊
        17
    icedx   2014-12-25 11:52:41 +08:00 via Android
    让每台机器从不同的位置读…
        18
    aheadlead   2014-12-25 11:55:26 +08:00 via iPhone
    @icedx 有现成的轮子吗?
        19
    icedx   2014-12-25 12:19:10 +08:00
    @aheadlead 米有 然后你可以试着用缓存...
        20
    weikey   2014-12-25 12:43:55 +08:00 via iPhone
    一次性的就没必要搭集群啦,常用的机器多,可考虑spark
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2499 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 14:13 · PVG 22:13 · LAX 07:13 · JFK 10:13
    ♥ Do have faith in what you're doing.