Faust Python 流处理开源项目

我要开发同款
naughty2019年08月30日
103阅读
开发技术Python
所属分类大数据、数据处理
授权协议BSD

作品详情

Faust是一个流处理库,将想法从KafkaStreams移植到Python。

它在Robinhood用于构建高性能的分布式系统和实时数据管道,每天处理数十亿个事件。

Faust提供流处理和事件处理,与KafkaStreams,ApacheSpark/Storm/Samza/Flink等工具共享相似性,

它不使用DSL,它只是Python!这意味着您可以在流处理时使用所有您喜欢的Python库:NumPy,PyTorch,Pandas,NLTK,Django,Flask,SQLAlchemy,++

Faust需要Python3.6或更高版本才能使用新的async/await语法和变量类型注释。

特性:

简单易使用高度可用快速灵活性

以下是处理传入订单流的示例:

#PythonStreams٩(◕‿◕)۶#Foreverscalableeventprocessing&in-memorydurableK/Vstore;#w/asyncio&statictyping.importfaustapp=faust.App('myapp',broker='kafka://localhost')#Modelsdescribehowmessagesareserialized:#{"account_id":"3fae-...",amount":3}classOrder(faust.Record):account_id:stramount:int@app.agent(value_type=Order)asyncdeforder(orders):asyncfororderinorders:#processinfinitestreamoforders.print(f'Orderfor{order.account_id}:{order.amount}')

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论