自定义接收器,用于Spark结构化流

时间:2020-07-25 09:51:43

标签: apache-spark apache-spark-sql spark-structured-streaming

对于Spark结构化流媒体,我们编写了一个自定义源阅读器,以从“自定义源”中读取数据。要编写它,我遵循的是Spark代码本身中的“ kafka自定义源”代码示例。 我们还要求将输出写入到自定义位置。为此,我看到了spark提供了“ foreach”和“ foreachbatch”(从spark 2.3.0开始)。我发现使用这两种方法都是非常简单的实现,而且乍看之下,我觉得我的大多数自定义接收器实现要求都可以满足。

但是当我在Spark中查看kafka代码时,我发现kafka使用“ StreamSinkProvider”(https://jaceklaskowski.gitbooks.io/spark-structured-streaming/content/spark-sql-streaming-StreamSinkProvider.html)而不是“ foreach”或“ foreachbatch”。

现在我想找出使用​​这些选项的各种优点/缺点(在性能/灵活性等方面)?一个比另一个好吗?任何人都有使用这些选项的经验,它们在实际用例中如何进行?

0 个答案:

没有答案