微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spark Memory Streams 继续运行?

如何解决Spark Memory Streams 继续运行?

我有一个简单的内存流查询,但它一直在运行。

这是我的写查询

  val imstream = new MemoryStream[SomeData](1,spark.sqlContext)

  val mV = imstream.toDS()
    .groupByKey(...)
    .flatMapGroupsWithState......//returning the values without any logic

  val sQ = mV
    .writeStream
    .format("memory")
    .queryName(queryName)
    .option("checkpointLocation","src/checkpoint")
    .start


  val currentOffset: Offset = imstream.addData(dataList)
  val nextOffset = imstream.addData(Seq(.....))

  sQ.processAllAvailable()
  imstream.commit(currentOffset.asInstanceOf[LongOffset])
  imstream.commit(nextOffset.asInstanceOf[LongOffset])

  sQ.awaitTermination(5000L)

我用它来测试,但它一直在运行。我也试过 sQ.stop() 但它没有任何区别?

我是否遗漏了有关停止内存流的内容

[如果没有 flatMapGroupsWithState 似乎也能正常工作]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。