我正在处理平均负载为100 Mb / s的流。我有六个执行器,每个执行器分配12 Gb内存。但是,由于数据加载,我在几分钟内在spark执行器中出现Out of Memory错误(错误52)。即使Spark数据帧在概念上unbounded,它似乎受到总执行程序内存的限制?
我的想法是将数据帧/流保存在大约每五分钟一次。但是,似乎火花在此之后没有直接的机制来清除数据帧?
val out = df.
writeStream.
format("parquet").
option("path", "/applications/data/parquet/customer").
option("checkpointLocation", "/checkpoints/customer/checkpoint").
trigger(Trigger.ProcessingTime(300.seconds)).
outputMode(OutputMode.Append).
start
答案 0 :(得分:0)