Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在Spark流中刷新RDD_Apache Spark_Spark Streaming - Fatal编程技术网

Apache spark 在Spark流中刷新RDD

Apache spark 在Spark流中刷新RDD,apache-spark,spark-streaming,Apache Spark,Spark Streaming,我已经实现了Spark Streaming,它从Kafka接收数据。有一个RDD,它从数据库加载数据,对来自流媒体的传入数据执行操作。但是,我希望定期刷新RDD以检索数据源(数据库)中的任何更改。有没有办法刷新/重新加载数据 可以广播rdd,并使用计时器定期更新广播。可以广播rdd,并使用计时器定期更新广播。如果在转换中读取数据库,还可以将时间作为参数传递: .transform((rdd,time)=>refreshDbTable(rdd,time)) 然后如果你想每15分钟刷新一次 def

我已经实现了Spark Streaming,它从Kafka接收数据。有一个RDD,它从数据库加载数据,对来自流媒体的传入数据执行操作。但是,我希望定期刷新RDD以检索数据源(数据库)中的任何更改。有没有办法刷新/重新加载数据

可以广播rdd,并使用计时器定期更新广播。

可以广播rdd,并使用计时器定期更新广播。

如果在转换中读取数据库,还可以将时间作为参数传递:

.transform((rdd,time)=>refreshDbTable(rdd,time))

然后如果你想每15分钟刷新一次

def refreshDbTable(rdd: RDD, time: Time) = {

  if (time.isMultipleOf(Minutes(15))) {

    // drop the temp table

    // re-register the temp table 
  }

}

如果在转换中读取数据库,还可以将时间作为参数传递:

.transform((rdd,time)=>refreshDbTable(rdd,time))

然后如果你想每15分钟刷新一次

def refreshDbTable(rdd: RDD, time: Time) = {

  if (time.isMultipleOf(Minutes(15))) {

    // drop the temp table

    // re-register the temp table 
  }

}