使用触摸文件优雅关闭

jvlzgdj9  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(533)

我正在研究spark结构化流媒体,这是一个非常简单的用例。
我将从kafka读取数据,并在解析json后将其持久化到hdfs sink中。
我几乎完成了这个部分。现在的问题是,我们应该有一个很好的方法来关闭流作业,而不必突然关闭(ctrl+c或yarn-kill)。
我使用了以下选项 sparkConf.set("spark.streaming.stopGracefullyOnShutdown","true") 但没用。
我的要求是当流作业运行时,当在hdfs或linux en path中创建一些触摸文件时,它应该停止。
https://jaceklaskowski.gitbooks.io/spark-structured-streaming/spark-sql-streaming-demo-streamingquerymanager-awaitanytermination-resetterminated.html
在上面的链接中,它们创建固定持续时间的线程。但是我需要一些类似的东西,当一些虚拟文件被创建时,它会从执行中产生。
我是个新手,所以需要你的帮助。
提前谢谢。

gg0vcinb

gg0vcinb1#

我不确定目前是否真的有效 sparkConf.set("spark.streaming.stopGracefullyOnShutdown","true") . 有人声称它确实有效,但也有人不这么认为。
在任何情况下,这是关于直接杀死或优雅停止。
不过,您需要终止jvm,或者如果在databricks中,它们有很多实用程序。
但是,spark结构化流提供的检查点和预写日志不会丢失数据。也就是说,能够在没有任何问题的情况下恢复状态和偏移量,spark保持自己的偏移量管理。因此,如何阻止它似乎不是一个可以解释混乱的问题 "but no use".

相关问题