替代递归 运行 Spark 提交作业
Alternate to recursively Running Spark-submit jobs
以下是我需要建议的场景,
场景:
通过 Nifi 将数据摄取到 Hive 表中。
Spark 程序必须对 Hive 中的数据执行 ETL 操作和复杂的连接。
由于从 Nifi 摄取的数据是连续流式传输,我希望 Spark 作业 运行 每 1 或 2 分钟对摄取的数据进行一次。
哪个是最好的选择?
使用调度程序每 1 分钟触发一次 spark-submit 作业?
我们如何减少递归提交作业到 spark 集群的开销和时间延迟?有没有更好的方法来递归地 运行 单个程序?
运行 火花流作业?
火花流作业能否每 1 分钟自动触发一次并处理来自配置单元的数据? [Spark-Streaming可以只基于时间触发吗?]
有没有其他有效的机制来处理这种情况?
提前致谢
- 如果你需要每分钟运行的东西,你最好使用 spark-streaming 而不是批处理。
- 您可能希望直接从 kafka 而不是从 hive table 获取数据,因为它更快。
关于你的问题,batch/stream哪个更好。您可以将 Spark Streaming 视为每 "batch interval" 运行一次的微批处理。
读这个:https://spark.apache.org/docs/latest/streaming-programming-guide.html
以下是我需要建议的场景,
场景:
通过 Nifi 将数据摄取到 Hive 表中。
Spark 程序必须对 Hive 中的数据执行 ETL 操作和复杂的连接。
由于从 Nifi 摄取的数据是连续流式传输,我希望 Spark 作业 运行 每 1 或 2 分钟对摄取的数据进行一次。
哪个是最好的选择?
使用调度程序每 1 分钟触发一次 spark-submit 作业? 我们如何减少递归提交作业到 spark 集群的开销和时间延迟?有没有更好的方法来递归地 运行 单个程序?
运行 火花流作业? 火花流作业能否每 1 分钟自动触发一次并处理来自配置单元的数据? [Spark-Streaming可以只基于时间触发吗?]
有没有其他有效的机制来处理这种情况?
提前致谢
- 如果你需要每分钟运行的东西,你最好使用 spark-streaming 而不是批处理。
- 您可能希望直接从 kafka 而不是从 hive table 获取数据,因为它更快。
关于你的问题,batch/stream哪个更好。您可以将 Spark Streaming 视为每 "batch interval" 运行一次的微批处理。
读这个:https://spark.apache.org/docs/latest/streaming-programming-guide.html