替代递归运行Spark-submit作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了替代递归运行Spark-submit作业相关的知识,希望对你有一定的参考价值。

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

场景:

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

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

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

哪个是最好的选择?

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

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

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

提前致谢

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

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

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

以上是关于替代递归运行Spark-submit作业的主要内容,如果未能解决你的问题,请参考以下文章

读取驱动程序使用 spark-submit 发送的文件

spark-submit参数

在 Yarn 集群上运行 Spark 作业的问题

spark 任务运行原理

Apache Spark:从IDE远程运行作业时的无限循环

查找我的 spark 作业输出文件的位置