0

在 Streaming 中将这些参数设置如下 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 作业时,当前 app-* 中的历史数据不会被删除。由于我们使用的是 Kafka-Spark 连接器 jar,因此对于每个微批次,它都会使用 app jar 和 stderr 复制这个 jar,每个文件夹上的标准输出结果(work/app-2016*/(1,2,3,4,5,6, ...) . 这本身就占用了大量内存,因为 Kafka-Spark 连接器是一个超级 jar,大约 15 MB,一天之内就达到 100 GB。

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

4

0 回答 0