Kafka Spark Streaming提取多个主题

时间:2019-09-30 09:38:51

标签: apache-spark apache-kafka hdfs spark-streaming

我们当前正在使用Spark Streaming将Kafka消息接收到HDFS中。到目前为止,我们为每个主题生成了一个完整的Spark工作。

由于某些主题的消息很少产生(平均每天1条消息),因此我们正在考虑组织资源池的信息提取。

这个想法是避免为这个“不频繁的”主题创建一个完整的容器(和相关资源)。实际上,Spark Streaming在输入中接受主题列表,因此我们正在考虑使用此功能,以使单项工作消耗所有这些主题。

你们认为暴露的是一种好策略吗?我们还考虑了批量摄取,但是我们希望保持实时行为,因此我们排除了此选项。你有什么建议吗?

如果在偏移一致性等方面出现故障,Spark Streaming是否可以很好地处理多个主题作为源?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为Spark应该能够很好地处理多个主题,因为它们很长时间以来就对此提供了支持,是的,Kafka connect不是融合的API。 Confluent确实为其集群提供了连接器,但您也可以使用它。您可以看到Apache Kafka也具有Connect API的文档。

使用Apache版本的Kafka并不难,但是您可以使用它。

https://kafka.apache.org/documentation/#connectapi

此外,如果您在一次Spark Streaming工作中选择多个kafka主题,您可能需要考虑不创建小文件,因为您的频率似乎很少。