如何在每个火花流批处理中运行spark sql查询?

时间:2018-03-09 10:05:10

标签: apache-spark apache-spark-sql spark-streaming spark-structured-streaming

我的情景:

  1. 创建一个Spark流式上下文,以便从kafka中提取数据,批处理时间为50秒
  2. 在spark中为临时数据创建临时表。
  3. 在50s批量临时表数据上运行spark sql查询
  4. 这必须重复,直到火花流工作正在运行。

    但是我无法弄清楚在流媒体环境中运行spark sql的方法。

    截至目前,spark sql查询仅运行一次,流式传输不断发生。

    val nv = (new Streamreader(kafkaParams,db))
    
      kafkaOpTopic.split(",").foreach(x => {
        nv.streader(ssc, Array(x))
      })
      spark.sql("show tables").show()
      ssc.start()
      ssc.awaitTermination()
    

    StreamReader正在进行kafka pull操作。

    在每个Spark流式批处理窗口结束时运行spark sql的正确方法是什么?怎么实现呢?

    任何想法都会有很大帮助。

0 个答案:

没有答案