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

2023-07-20 20:00:15 +08:00
 dtgxx
公司之前做数据处理的场景,基本上一台机器可以解决,是通过一些脚本把要处理的数据文件放在机器的某个路径下,然后用 python 程序去做业务逻辑,比如去关联 mysql 中的规则进行匹配,然后更新界面使用的 mongodb 、es 这类存储系统,不只是增量的更新,是有业务逻辑的,比如把 monogdb 数据查询出来,然后对比,更新,记录之类的。


最近项目数据量比较巨大,我想知道这套代码可以用 hdfs+spark 平替吗,用 spark 来写 python 这种业务逻辑,会不会有啥问题呢。。。会有这个疑问的原因是因为,之前用 spark 就是来操作 hive ,或者 hdfs 数据的,然后直接增量覆盖到 hive 或者 es ,没有复杂的和数据库交互太多的业务逻辑,spark 是分布式计算,会不会有啥事务安全问题啥的。。。有点想不明白。
582 次点击
所在节点    问与答
6 条回复
leonme
2023-07-20 20:19:45 +08:00
spark 也不好直接和 MySQL 交互,事务可以通过 RPC 内的方法自行控制
dtgxx
2023-07-21 09:14:07 +08:00
@leonme 确实,不知道和 mongodb es 交互性能咋样
lbbff
2023-07-21 18:31:10 +08:00
可以,但是没必要。spark 你可以拿来当做分布式的基座,但是并不提供事务类的算子,还是得自己写
dtgxx
2023-07-21 18:40:05 +08:00
@lbbff #3 因为数据量特别大,用之前的方法估计要部署 30 几台机器,每个机器部署很多进程去并发处理,这样维护起来感觉比较吃力,所以想用 spark 来解决; 您的意思是用 spark 来写代码,这样就天然可以用 spark yarn 来管理资源,并且分布式执行了, 然后实际的逻辑代码在 spark 的代码厘米自己实现就可以? 我其实就是这么想的,只是不知道业内有没有这么搞的,不知道会出啥问题。😂
lbbff
2023-07-22 17:39:44 +08:00
@dtgxx 对的,我整过在里面读 mongo 和 es ,合并统计数据后写入 es 另一个 index ,完全没问题,其他的场景没试过
dtgxx
2023-07-23 20:57:40 +08:00
@lbbff #5 好的 谢谢谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/958405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX