Python 流处理 Faust

BSD
Python
跨平台
2019-08-30
naughty

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

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

Faust 提供流处理和事件处理,与 Kafka Streams,Apache Spark / Storm / Samza / Flink 等工具共享相似性,

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

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

特性:

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

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

# Python Streams ٩(◕‿◕)۶
# Forever scalable event processing & in-memory durable K/V store;
# w/ asyncio & static typing.
import faust

app = faust.App('myapp', broker='kafka://localhost')

# Models describe how messages are serialized:
# {"account_id": "3fae-...", amount": 3}
class Order(faust.Record):
    account_id: str
    amount: int

@app.agent(value_type=Order)
async def order(orders):
    async for order in orders:
        # process infinite stream of orders.
        print(f'Order for {order.account_id}: {order.amount}')

 

的码云指数为
超过 的项目
加载中

评论(1)

好铁
好铁

暂无资讯

暂无问答

家庭培养孩子学习力的17课:聪明≠智慧,发现问题是第一要义

第1课 小孩儿能做研究吗? 为啥中国孩子年年获PISA和奥赛奖,但直至2015,才有一位成人获诺贝尔科学奖?为啥美国中小学生下午两三点就放学,基本没家庭作业,但他们长大后雄踞诺贝尔科学奖榜...

05/19 20:59
4
0
Python frameworks, libraries, software and resources

Awesome Python A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome-php. Awesome Python Admin Panels Algorithms and Design Pattern...

2018/12/26 15:59
37
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部