Faust 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Faust 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Faust 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 BSD
开发语言 Python
操作系统 跨平台
软件类型 开源软件
所属分类 大数据数据处理
开源组织
地区 不详
投 递 者 naughty
适用人群 未知
收录时间 2019-08-30

软件简介

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

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(1)
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
1 评论
11 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部