最近几个月,我一直在使用很多结构化流来实现流作业(在大量使用Kafka之后)。看完《用Apache Spark进行流处理》一书后,我遇到了一个问题:是否有任何观点或用例可以使用Spark流而不是结构化流?我应该花一些时间来学习它,还是因为我已经在使用Spark结构化流,所以我应该坚持使用它,并且以前的API没有任何好处。 希望有任何意见/见解
答案 0 :(得分:1)
嗨,分享我的个人经验。
结构化流是基于Spark的流实现的未来。它提供了更高级别的抽象和其他出色的功能。但是,几乎没有限制。
由于它提供的灵活性,我不得不在少数情况下切换到火花流。最近的一个例子是,我们必须对静态参考数据执行Joins,但是结构化流不支持外部联接。这可以通过Spark流完成。
使用较新的spark版本2.4,通过支持foreachBatch接收器大大改善了结构化流传输,从而提供了火花流提供的类似灵活性。
我个人的想法是,了解火花流技术会有所帮助,您可能需要根据使用情况来使用它。