替代递归运行Spark-submit作业

问题描述 投票:-2回答:1

以下是我需要建议的场景,

场景:

数据摄取通过Nifi进入Hive表。

Spark程序必须对Hive中的数据执行ETL操作和复杂连接。

由于从Nifi摄取的数据是连续流式传输,我希望Spark工作每1或2分钟就可以在摄取的数据上运行。

哪个是最好的选择?

使用调度程序每1分钟触发一次火花提交作业?我们如何减少递归提交作业到火花集群的头脑和时间滞后?是否有更好的方法递归运行单个程序?

运行火花流媒体工作?火花流工作可以每1分钟自动触发并处理来自蜂巢的数据吗? [Spark-Streaming只能基于时间触发吗?]

有没有其他有效的机制来处理这种情况?

提前致谢

apache-spark apache-spark-sql spark-dataframe spark-streaming
1个回答
1
投票
  1. 如果你需要每分钟运行的东西,你最好使用spark-streaming而不是批处理。
  2. 您可能希望直接从kafka获取数据,而不是从hive表获取数据,因为它更快。

至于你的问题什么是更好的批/流。您可以将火花流视为每批“批处理间隔”运行的微批处理流程。

阅读本文:https://spark.apache.org/docs/latest/streaming-programming-guide.html

© www.soinside.com 2019 - 2024. All rights reserved.