当前位置: 首页 > 工具软件 > Faust > 使用案例 >

python流处理框架_Faust首页、文档和下载 - Python 流处理 - OSCHINA - 中文开源技术交流社区...

易祯
2023-12-01

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}')

 类似资料: