Kafka python API是否支持流处理?

时间:2018-08-19 14:59:22

标签: python apache-kafka apache-kafka-streams confluent-kafka kafka-python

我在Java中使用过Kafka Streams。我在python中找不到类似的API。 Apache Kafka是否支持python中的流处理?

2 个答案:

答案 0 :(得分:4)

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

从理论上讲,您可以尝试使用Jython或Py4j来支持JVM实现,但否则,您将被消费者/生产者所困扰或调用KSQL REST接口。

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

答案 1 :(得分:2)

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

要在 Spark 中使用 Kafka 数据流,请使用 Structured Streaming + Kafka Integration Guide

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

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 上进行了测试。

This 资源也很有用。