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

可以把 spark 当成一个事务型并发处理框架吗

  •  
  •   dtgxx · 2023-07-20 20:00:15 +08:00 · 562 次点击
    这是一个创建于 484 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司之前做数据处理的场景,基本上一台机器可以解决,是通过一些脚本把要处理的数据文件放在机器的某个路径下,然后用 python 程序去做业务逻辑,比如去关联 mysql 中的规则进行匹配,然后更新界面使用的 mongodb 、es 这类存储系统,不只是增量的更新,是有业务逻辑的,比如把 monogdb 数据查询出来,然后对比,更新,记录之类的。


    最近项目数据量比较巨大,我想知道这套代码可以用 hdfs+spark 平替吗,用 spark 来写 python 这种业务逻辑,会不会有啥问题呢。。。会有这个疑问的原因是因为,之前用 spark 就是来操作 hive ,或者 hdfs 数据的,然后直接增量覆盖到 hive 或者 es ,没有复杂的和数据库交互太多的业务逻辑,spark 是分布式计算,会不会有啥事务安全问题啥的。。。有点想不明白。
    6 条回复    2023-07-23 20:57:40 +08:00
    leonme
        1
    leonme  
       2023-07-20 20:19:45 +08:00 via iPhone
    spark 也不好直接和 MySQL 交互,事务可以通过 RPC 内的方法自行控制
    dtgxx
        2
    dtgxx  
    OP
       2023-07-21 09:14:07 +08:00
    @leonme 确实,不知道和 mongodb es 交互性能咋样
    lbbff
        3
    lbbff  
       2023-07-21 18:31:10 +08:00 via Android
    可以,但是没必要。spark 你可以拿来当做分布式的基座,但是并不提供事务类的算子,还是得自己写
    dtgxx
        4
    dtgxx  
    OP
       2023-07-21 18:40:05 +08:00
    @lbbff #3 因为数据量特别大,用之前的方法估计要部署 30 几台机器,每个机器部署很多进程去并发处理,这样维护起来感觉比较吃力,所以想用 spark 来解决; 您的意思是用 spark 来写代码,这样就天然可以用 spark yarn 来管理资源,并且分布式执行了, 然后实际的逻辑代码在 spark 的代码厘米自己实现就可以? 我其实就是这么想的,只是不知道业内有没有这么搞的,不知道会出啥问题。😂
    lbbff
        5
    lbbff  
       2023-07-22 17:39:44 +08:00 via Android   ❤️ 1
    @dtgxx 对的,我整过在里面读 mongo 和 es ,合并统计数据后写入 es 另一个 index ,完全没问题,其他的场景没试过
    dtgxx
        6
    dtgxx  
    OP
       2023-07-23 20:57:40 +08:00
    @lbbff #5 好的 谢谢谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2839 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:43 · PVG 14:43 · LAX 22:43 · JFK 01:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.