请问有没有这样一种 Python 的流式处理框架?

2020-02-25 16:01:48 +08:00
 xjx0524

用不到大数据分布式那些框架,想问下有没有类似的框架满足下面一些需求

从输入到输出整个流程划分为若干个模块,希望能:

1、输入可以支持文件或监听消息队列

2、设置每个模块的并发数

3、模块间的数据通过消息队列传递

4、模块间不一定是顺序执行,支持 DAG 图

上面是一些基本需求,下面是额外的一些功能

5、日志和异常捕获

6、监控是否有堆积情况

我自己有实现这样一套东西,主要依赖 multiprocessing 包,但是有很多 hardcode 的地方,这类流程多了之后很不方便维护,所以来请教下是否有类似的框架?

1866 次点击
所在节点    问与答
7 条回复
bnm965321
2020-02-25 16:19:52 +08:00
airflow
xjx0524
2020-02-25 16:51:53 +08:00
@bnm965321 感谢回复,看了下 airflow 主要是基于时间的调度框架?以它的概念来说的话,应该是不断的去调度执行 DAG,但我需要的是启动一个 DAG 之后,里面的每个 task 都一直在运行,不断的消费上游 task 传过来的数据,直到接收停止命令
TypeError
2020-02-25 16:52:47 +08:00
https://faust.readthedocs.io/en/latest/

celery 作者开发的,基于 Kafka
ipwx
2020-02-25 16:55:27 +08:00
听上去像是 apache 那一套的场景。你去看看 spark,flink,kafka 之类的
xjx0524
2020-02-25 17:24:39 +08:00
@TypeError 这个东西有点意思,我研究一下,感谢

@ipwx apache 那一套太重了,我只需要单机执行一些流程任务(捂脸哭)
xjx0524
2020-02-26 10:21:44 +08:00
@TypeError 看了文档还是没有很直观的认识,想问下有没有比较好的使用了 faust 的开源项目呢?
TypeError
2020-02-26 11:00:26 +08:00
@xjx0524 #6 我也没关注,它这个项目是类似 Kafka streams 的,用法和使用场景是一致的

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

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

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

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

© 2021 V2EX