我正在尝试实现火花流应用程序的仿真。最初,我读取所有批次,然后将它们添加到其他rdds中的InputDStream中。经过90次迭代后,我读取了超过5GB的数据,但存储内存https://ibb.co/GHGsTLW中只有14.4MB,这可能导致此问题吗?
数据大小仅为75MB。
这是为什么我的垃圾收集器有开销的原因吗?
val inputData: mutable.Queue[RDD[DBSCANPoint]] = mutable.Queue()
val inputStream: InputDStream[DBSCANPoint] = ssc.queueStream(inputData)
for (i <- 0 to total_batches + 1) {
val inputRDD = ssc.sparkContext.textFile(inputPath + "/batch" + i + ".txt", this.cores)
.map(line => line.split(' '))
.map(line => DBSCANPoint(Vectors.dense(GlobalVariables.newPointId(), line(0).toDouble, line(1).toDouble))).cache()
inputData.enqueue(inputRDD)
}
inputStream.foreachRDD(rdd => {
//rdd computation
})