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

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

  •  
  •   xjx0524 · 2020-02-25 16:01:48 +08:00 · 1797 次点击
    这是一个创建于 1530 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    5、日志和异常捕获

    6、监控是否有堆积情况

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

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

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

    @ipwx apache 那一套太重了,我只需要单机执行一些流程任务(捂脸哭)
    xjx0524
        6
    xjx0524  
    OP
       2020-02-26 10:21:44 +08:00
    @TypeError 看了文档还是没有很直观的认识,想问下有没有比较好的使用了 faust 的开源项目呢?
    TypeError
        7
    TypeError  
       2020-02-26 11:00:26 +08:00
    @xjx0524 #6 我也没关注,它这个项目是类似 Kafka streams 的,用法和使用场景是一致的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1761 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:39 · PVG 08:39 · LAX 17:39 · JFK 20:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.