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

新开一帖:求技术大佬帮忙开发个新项目,每天两组 1.5 亿行数据的对比提取,感谢辛苦的程序员。

  •  
  •   fourstone · 2021-06-15 18:15:05 +08:00 · 899 次点击
    这是一个创建于 1262 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新开一帖:原帖不知道怎么删除,囧了

    现在的环境 windows2008 r2 +mongodb4.0 +node.js+JAVA

    因为服务器上已经有好几个项目,最好不要影响其他正常的运行的项目。或者我专门再租一个服务器跑这个。

    软件要求:

    每天定时自动下载并且解压(我提供帐号密码去下载),解压后大概每天有 1.5 亿行数据,每天新增 10 万行左右,3 分钟内提取新增行,反正越快越好。 提取新增行后,自动按关键字(关键字数量 2-100 个左右,我每天手动修改)提取,链接我现在的 API 完成。

    源文件解压后是 纯文本,4 列,我只需要提取 1 列里面的新增数据

    下载大小不变的,源数据有增有减,每天下载时间固定的。

    其他所有步骤我现在的项目已经有完整能使用的了,无非所有难点就在如何最快的 获得 两组 1.5 亿行数据的对比提取新增行

    (我不懂能不能实现,因为下载要 7 分钟,我想所有操作 10-15 分钟内完成,反正越快越好,最好不要升级服务器就能实现,因为升级太麻烦了)

    请有时间的 大神 联系我 qq,感谢 49 六一 47 九五三

    至于价格,我不太懂这个市场价,以前找 v2 大神开发的都是他们自己报价,所以能完成自己报个价好了,市场价就好,以后项目一定还有的。

    第 1 条附言  ·  2021-06-16 12:58:15 +08:00
    ps.有好几个大佬加我纯粹好奇,想看看这么大数据究竟怎么弄,想知道这么大数据能不能练练手。
    真是好事啊,这样技术才能不断进步。
    别害羞,问我拿就给。
    我下午好好把连续两天的完整数据传到网盘。
    每个压缩包 4g 左右,里面有 3 亿多行,去掉重复 1.5 亿行左右
    第 2 条附言  ·  2021-06-16 22:59:27 +08:00
    最新需求;
    1.每天定时下载(压缩包 4g 左右,每天大小差不多固定,里面 3.6 亿行,去掉重复 1.5 亿行)2.解压 3.两天的数据对比 4.提取保存
    目前服务器配置 2u+16g+100G ssd,因为项目再运行的有点多了,我在考虑为了这个项目升级一下服务器
    这些不需要了:提取新增行后,自动按关键字(关键字数量 2-100 个左右,我每天手动修改)提取,链接我现在的 API 完成。
    第 3 条附言  ·  2021-06-17 09:08:09 +08:00
    1.每天定时下载(压缩包 4g 左右,每天大小差不多固定,里面 4 亿行,去掉重复 1.5 亿行)2.解压 3.两天的数据对比 4.提取保存 5.自动删除前一天的数据,保留今天的数据,为明天的数据对比做准备
    第 4 条附言  ·  2021-06-29 10:07:44 +08:00
    早就结贴了,请勿加了
    la2la
        1
    la2la  
       2021-06-15 19:08:57 +08:00
    自己想到的一个方案,你可以尝试一下。
    假设:两个文件昨天的 2021-06-14.txt, 今天下载的 2021-06-15.txt, 提取的新增列名 c1 。提前将 2021-06-14.txt 这个文件的 c1 列布隆过滤器中,在 2021-06-15.txt 下载完的一刻将文件切分成 N 个( N 取决于你的服务器的配置),然后并行跑布隆过滤器,就能很快筛选出新增列,筛选后的类通过编译好的正则提取关键字。
    感觉这个方案应该可行,1.5 亿数据不是很多
    la2la
        2
    la2la  
       2021-06-15 19:20:02 +08:00
    这个方案有个 BUG,切分的时候有可能把一行数据切分成两行,就不切分了,直接跑,估计不会很慢或者切分的时候需要按照换行符切割,在或者下载的时候就并行下载成多个文件
    fourstone
        3
    fourstone  
    OP
       2021-06-15 19:25:32 +08:00
    @la2la 我要是看得懂你说的, 我就不用外包了,哈哈
    whahuzhihao
        4
    whahuzhihao  
       2021-06-15 19:58:16 +08:00
    有可能出现重复的行吗?如果昨天 a 出现了 3 次,今天出现了 4 次,那么 a 就是新增的? 这样没法布隆
    fourstone
        5
    fourstone  
    OP
       2021-06-15 20:39:56 +08:00
    @whahuzhihao 正常来说是没有重复行的,有重复行也只要一条就好了
    joynvda
        6
    joynvda  
       2021-06-15 20:56:11 +08:00
    不是有人接了吗?
    fourstone
        7
    fourstone  
    OP
       2021-06-15 21:28:23 +08:00
    @joynvda 加的几个大佬,下载了之后没回应了,我很着急啊
    ku9527
        8
    ku9527  
       2021-06-16 01:05:34 +08:00
    文件解压缩后 20.5g, 我用我电脑试了下, 光把这文件读到内存,花了 109 秒,平均速度 183M/s, SATA2 机械硬盘,两个文件都读一下的话,估计得 200 秒多了,已经超过你理想的 3 分钟了,这还没开始比较呢, 你服务器用的很快的硬盘吗?速度多少
    ymmud
        9
    ymmud  
       2021-06-16 12:36:53 +08:00
    做成开放题目,有奖挑战吧,名义上好听多啦
    fourstone
        10
    fourstone  
    OP
       2021-06-16 12:58:28 +08:00
    @ymmud 你脑子太灵活了吧
    joynvda
        11
    joynvda  
       2021-06-16 20:59:47 +08:00
    如果数据不敏感(或者能脱敏),试试也挺好玩的。
    fourstone
        12
    fourstone  
    OP
       2021-06-16 21:14:02 +08:00
    @joynvda 公开的数据,正规的啊
    joynvda
        13
    joynvda  
       2021-06-16 22:46:54 +08:00
    @fourstone 那,我也好奇练练手。py3 可以吗?
    fourstone
        14
    fourstone  
    OP
       2021-06-16 22:57:30 +08:00
    @joynvda py3 是什么我不知道啊。

    目前 1.每天定时下载(压缩包 4g 左右,每天大小差不多固定,里面 3.6 亿行,去掉重复 1.5 亿行)2.解压 3.对比 4.提取保存

    目前服务器配置 2u+16g+100G ssd,因为项目再运行的有点多了,我在考虑为了这个项目升级一下服务器
    joynvda
        15
    joynvda  
       2021-06-16 23:09:40 +08:00
    @fourstone 我的意思是 python3 可以吗?
    fourstone
        16
    fourstone  
    OP
       2021-06-16 23:10:11 +08:00
    @joynvda 语言没要求啊,我服务器能跑就行
    lspie0517
        17
    lspie0517  
       2021-06-22 16:09:13 +08:00
    这个数据如果不压缩原始存放在哪?数据库?
    forgottencoast
        18
    forgottencoast  
       2021-06-29 10:00:19 +08:00
    数据在哪里下载呢?
    fourstone
        19
    fourstone  
    OP
       2021-06-29 10:08:34 +08:00
    @forgottencoast 早就结贴了,请勿加了
    很多人加,已经有大佬完成了
    不能删帖真麻烦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2949 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.