以下是我需要建议的场景,
场景:
数据摄取通过Nifi进入Hive表。
Spark程序必须对Hive中的数据执行ETL操作和复杂连接。
由于从Nifi摄取的数据是连续流式传输,我希望Spark工作每1或2分钟就可以在摄取的数据上运行。
哪个是最好的选择?
使用调度程序每1分钟触发一次火花提交作业?我们如何减少递归提交作业到火花集群的头脑和时间滞后?是否有更好的方法递归运行单个程序?
运行火花流媒体工作?火花流工作可以每1分钟自动触发并处理来自蜂巢的数据吗? [Spark-Streaming只能基于时间触发吗?]
有没有其他有效的机制来处理这种情况?
提前致谢
至于你的问题什么是更好的批/流。您可以将火花流视为每批“批处理间隔”运行的微批处理流程。
阅读本文:https://spark.apache.org/docs/latest/streaming-programming-guide.html