gpt4 book ai didi

scala - Spark Streaming - 刷新静态数据

转载 作者:可可西里 更新时间:2023-11-01 15:46:00 26 4
gpt4 key购买 nike

我有一个 Spark Streaming 作业,它在启动时查询 Hive 并创建一个 Map[Int, String] 对象,然后该对象用于作业执行的部分计算。

我遇到的问题是 Hive 中的数据每 2 小时就有可能发生变化。我希望能够按计划刷新静态数据,而不必每次都重新启动 Spark 作业。

map 对象的初始加载大约需要 1 分钟。

非常欢迎任何帮助。

最佳答案

您可以使用监听器。每次为 spark 上下文中的任何流启 Action 业时都会触发。由于您的数据库每两个小时更新一次,因此每次更新 AFAIK 都没有什么坏处。

sc.addSparkListener(new SparkListener() {
override def onSparkListenerJobStart(jobStart: SparkListenerJobStart) {
//load data that to the map that will be sent to executor
}


});

关于scala - Spark Streaming - 刷新静态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54790472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com