• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Int100
V2EX  ›  程序员

请问一下,数据处理需求频繁变更时,如何提高数据处理的效率?

  •  
  •   Int100 · May 9, 2024 · 2591 views
    This topic created in 915 days ago, the information mentioned may be changed or developed.

    请问一下,数据处理需求频繁变更时,各位是怎么做的?

    公司会产生很多 json 格式的数据,任务是需要对这些 json 数据进行数据处理,提取/重组其中的一些 key: value ,按照甲方的要求生成特定的数据集(也是 json 格式)。

    之前一直是编写 python 脚本直接处理数据,但是费时费力,甲方有时候一些小要求,代码就需要改动很多。有没有什么办法可以更加标准化/便捷的做这件事?比如能否利用某些数据库去完成这个任务?

    非常感谢🙏

    11 replies  •  2024-05-09 18:09:17 +08:00
    Livid
    Livid
    MOD
    PRO
    May 9, 2024❤️1
    1
    导入 MongoDB 或者 ElasticSearch 然后试试用查询?
    66Zi2nJk5Z6mdtzj
    66Zi2nJk5Z6mdtzj
    May 9, 2024 via iPhone❤️1
    2
    这种你找找身边做大叔的,或者做数仓的,他们天天就干这个。

    大数据一般分成很多段来处理数据。数据采集,清洗,规整,然后导出。我不是专业做大数据,在大数据团队待了一年,所以就见过一些。

    把数据处理,分成一段一段,每一段只完成一件事情,然后最终把数据导入到一些支持查询的数据库里面,然后再用 SQL 之类的语言去查询。
    ke1e
    ke1e
    May 9, 2024 via Android
    3
    数仓正解,如果数据量不大或者对时效性和 qps 不敏感可以看看 MongoDB
    netnr
    netnr
    May 9, 2024 via Android
    4
    用 nodejs

    每种处理单元为一个类或方法,对应一个 js 文件
    根据配置动态加载执行 js 文件

    后续有新的处理方式,拷贝一份 js 文件微调,再更新一下配置参数
    vivisidea
    vivisidea
    May 9, 2024
    5
    耗时主要在哪呢? json 解析可以试试 jsonpath 这个工具,我觉得还挺好用,https://github.com/json-path/JsonPath python 应该也有对应的实现
    yinmin
    yinmin
    May 9, 2024 via Android
    6
    用 ai 试试,把原来的代码和新的需求都发给 ai ,让 ai 修改代码。你可以试试 gpt4 、claude3 opus 、mistral large 、gemini 1.5 、deepseek code 这几个模型。
    yjhatfdu2
    yjhatfdu2
    May 9, 2024❤️1
    7
    使用 postgresql 的 jsonb ,可以使用 copy 快速导入,可以使用 jsonpath 快速查询,可以使用各种 json 相关函数和 json 聚合函数快速编辑和处理,而这些都只需要 SQL
    Joker520
    Joker520
    May 9, 2024
    8
    可以试下用 MongoDB 来存
    noahlias
    noahlias
    May 9, 2024
    9
    不怎么复杂的 我觉得 jq 就可以完成你说的功能
    https://github.com/jqlang/jq
    写个 shell 脚本批处理下就搞定了 反正你是从 json 到 json
    Int100
    Int100
    OP
    May 9, 2024
    10
    @yinmin #6
    谢谢建议!有尝试过,可以减轻一部分工作量,但是数据之间的关联太复杂,最后主体还是要靠自己写。😄
    wxf666
    wxf666
    May 9, 2024❤️1
    11
    @Int100 #10 要不,你模拟几个场景出来看看?比如:

    10GB 的 A.json (格式是 [{"a": xxx, "b": yyy, ...}, ...],约一亿条),
    100GB 的 B.json (格式是 [{"c": xxx, "d": yyy, ...}, ...],约十亿条),

    需求一:A 里的 a, b 字段去 B 里的 c, d 查,保留结果是 xxx 的,再分组取前一万,再分季度汇总,。。。
    需求二:。。。

    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4324 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 06:04 · PVG 14:04 · LAX 22:04 · JFK 01:04
    ♥ Do have faith in what you're doing.