何时将 Kafka 与火花流一起使用?



我有一个社交平台,用户可以选择创建新帖子。截至目前,该帖子数据将进入数据库。我想实现一种流算法来使用 Spark 流处理这些新帖子。

问题1:那么,我想知道如何将这些新帖子从数据库发送到火花流架构?我想知道我是否应该在这里使用 kafka 作为中间人(我认为将来可能会可扩展(,或者只是从数据库流式传输数据以通过某个套接字触发流(如果是,请告诉我如何(。

使用的数据库是Firebase和mongodb(如果对两者都解释该过程会更好(。

问题2:我开始学习卡夫卡。它提到它可以处理流帖子。那么,为什么不使用 kafka 来处理流而不是火花流呢?为什么人们大多将 kafka 用作消息代理而不是用于处理流?

提前谢谢。

查询 1 : 您可以使用任何架构作为开始,这完全取决于您可以实验多少和您有多少时间。当有大量数据流过时,使用 Kafka 作为中间人总是好的。Mongo 可以直接与一些连接器一起使用,如本文所述 - https://databricks.com/blog/2015/03/20/using-mongodb-with-spark.html

查询 2:Spark 完全是为处理数据而构建的,而 Kafka 是作为消息传递系统构建的,后来为其他用例而发展。因此,不直接使用 kafka 作为数据处理者没有一个答案。这就像为什么我们不应该使用Elasticsearch作为数据的真实而不是一些数据库。一项技术可能需要一些时间才能稳定下来。 https://dzone.com/articles/spark-streaming-vs-kafka-stream-1

希望这有帮助!

最新更新