我正在使用Spark结构化流传输来处理来自Kafka队列的大量数据并进行一些繁重的ML计算,但是我需要将结果写入Elasticsearch。

我尝试使用ForeachWriter,但无法在其中获取SparkContext,另一个选择可能是在HTTP Post内执行ForeachWriter

现在,我正在考虑编写自己的ElasticsearchSink。

是否有任何文档可以为Spark结构化流创建接收器?

最佳答案

您可以看看ForeachSink。它显示了如何实现接收器并将DataFrame转换为RDD(这非常棘手,并且注释很大)。但是,请注意,Sink API仍然是私有(private)且不成熟的,将来可能会更改。

关于scala - 如何为Spark结构化流编写ElasticsearchSink,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42427004/

10-10 17:05
查看更多