繁体   English   中英

Kafka python API 是否支持stream处理?

[英]Does Kafka python API support stream processing?

我在Java中使用过Kafka Streams,在python中找不到类似的API,请问Apache Kafka支持python中的stream处理吗?

Kafka Streams 仅作为 JVM 库提供,但至少有两个 Python 实现

从理论上讲,您可以尝试使用 Jython 或 Py4j 来支持它的 JVM 实现,但否则,如果您不想编写您的自己的 UDF(同样,仅限 Java,我上次检查过)。

除了这些选项之外,您还可以尝试 Apache Beam、Flink 或 Spark,但它们都需要一个外部集群调度程序来横向扩展。

如果您使用Apache Spark ,您可以将其用作生产者消费者 不需要像 Faust 那样依赖第三部分库,但你需要一个 Spark 集群管理器(独立、YARN 或 Kubernetes 来扩展它)

要在 Spark 中使用 Kafka 数据流,请使用Structured Streaming + Kafka 集成指南

请记住,在使用spark-submit时,您必须附加spark-sql-kafka包:

spark-submit --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.0.1 StructuredStreaming.py

该解决方案已经在Spark 3.0.1Kafka 2.7.0PySpark上进行了测试。

资源也很有用。

以前 KStrame python API 不可用,但现在可以使用新的 KStream python 库https://pypi.org/project/kstreams/

特征:

  1. 制作活动
  2. 使用 Streams 的消费者事件
  3. Prometheus 指标和自定义监控
  4. 测试客户端
  5. 自定义序列化和反序列化
  6. 易于与任何异步框架集成。 没有绑定到任何图书馆!!
  7. 来自流的产量事件
  8. 商店(kafka 流模式)
  9. Stream 加入
  10. 开窗

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM