Apache spark Spark Streaming-独立模式(清理不删除每个批次每个应用程序工作文件夹中的数据)

Apache spark Spark Streaming-独立模式(清理不删除每个批次每个应用程序工作文件夹中的数据),apache-spark,spark-streaming,apache-spark-standalone,Apache Spark,Spark Streaming,Apache Spark Standalone,在流媒体中,您可以按如下方式设置这些参数 spark.worker.cleanup.enabled true spark.worker.cleanup.interval 60 spark.worker.cleanup.appDataTtl 90 这将清除work/app-2016*/(1,2,3,4,5,6,…)文件夹中已终止的spark批处理/流式处理作业数据。但在运行Spark Streaming作业时,当前应用程序-*中的历史数据不会被删除。因为我们使用的是Kafka Spark conn

在流媒体中,您可以按如下方式设置这些参数 spark.worker.cleanup.enabled true spark.worker.cleanup.interval 60 spark.worker.cleanup.appDataTtl 90

这将清除work/app-2016*/(1,2,3,4,5,6,…)文件夹中已终止的spark批处理/流式处理作业数据。但在运行Spark Streaming作业时,当前应用程序-*中的历史数据不会被删除。因为我们使用的是Kafka Spark connector jar,所以每一个微批次它都会用app jar和stderr复制这个jar,stdout会在每个文件夹上产生结果(work/app-2016*/(1,2,3,4,5,6,…)。这本身就在消耗大量内存,因为Kafka Spark connector是一个uber jar,大约15MB,一天就达到100GB


有没有办法从当前运行的Spark Streaming作业中删除数据,或者我们应该为此编写一些脚本…?

因为我们使用的是Kafka Spark connector jar,对于每一个微批,它都会用app jar和stderr复制这个jar,每个文件夹上的stdout结果都毫无意义。jar只应在作业提交开始时复制一次ttion,不是每一个微批次。也许你看到日志文件爆炸了?不是,它在每个微批次的每个目录中添加了Kafka Spark jar,我们正在使用PySpark。