Apache spark 优雅地关闭结构化流
有一种方法可以通过将属性Apache spark 优雅地关闭结构化流,apache-spark,apache-spark-sql,spark-streaming,spark-structured-streaming,Apache Spark,Apache Spark Sql,Spark Streaming,Spark Structured Streaming,有一种方法可以通过将属性spark.streaming.stopGracefullyOnShutdown设置为true,然后使用kill-SIGTERM命令终止进程,从而实现spark streaming的正常关闭。但是,我看不到这种选项可用于结构化流(SQLContext.scala) 结构化流媒体中的关闭过程是否不同?还是它还没有实现?此功能还没有实现。但是spark structured steaming的预写日志声称可以毫无问题地恢复状态和偏移量。此功能尚未实现,而且如果在批处理运行时从
spark.streaming.stopGracefullyOnShutdown
设置为true,然后使用kill-SIGTERM
命令终止进程,从而实现spark streaming的正常关闭。但是,我看不到这种选项可用于结构化流(SQLContext.scala)
结构化流媒体中的关闭过程是否不同?还是它还没有实现?此功能还没有实现。但是spark structured steaming的预写日志声称可以毫无问题地恢复状态和偏移量。此功能尚未实现,而且如果在批处理运行时从资源管理器中终止作业,它将为您提供重复的日志。尝试此github示例代码
因此,基本上你的意思是,如果我使用kill命令关闭通过Spark submit命令启动的Spark结构化流媒体应用程序,尽管没有“正常关闭”,但不会丢失任何数据?@AnderMurilloZohn Yesac根据另一个回答,不应该因为预写日志功能而出现问题。您是否尝试从命令行终止进程?它是否也会产生副本?取决于您对问题的定义。从技术上讲,复制不被认为是一个问题,因为您至少有一次交付保证,而且复制不会违反该保证,即您应该期望复制。我们最近有一个类似的问题,并通过使用文件系统优雅地停止流作业来解决