【发布时间】:2017-11-15 18:23:07
【问题描述】:
我必须设计一个具有以下用例的火花流应用程序。我正在为此寻找最佳方法。
我有将数据推送到 1000 多个不同主题的应用程序,每个主题都有不同的目的。 Spark 流将从每个主题接收数据,并在处理后将其写回对应的另一个主题。
Ex.
Input Type 1 Topic --> Spark Streaming --> Output Type 1 Topic
Input Type 2 Topic --> Spark Streaming --> Output Type 2 Topic
Input Type 3 Topic --> Spark Streaming --> Output Type 3 Topic
.
.
.
Input Type N Topic --> Spark Streaming --> Output Type N Topic and so on.
我需要回答以下问题。
- 每个主题启动 1000 多个 spark 流应用程序是个好主意吗?或者我应该为所有主题提供一个流式应用程序,因为处理逻辑将是相同的?
- 如果是一个流式上下文,那么如何判断哪个RDD属于哪个Kafka topic,以便处理后可以写回对应的OUTPUT Topic?
- 客户端可以从 Kafka 中添加/删除主题,如何在 Spark 流中动态处理?
- 如何在失败时自动重启作业?
你们看到这里还有什么问题吗?
非常感谢您的回复。
【问题讨论】:
-
我认为您应该查看 Kafka Streams 的此类用例。 confluent.io/blog/…
标签: apache-spark spark-streaming spark-dataframe