什么在Spark-Streaming中使用InputDStream时导致垃圾收集器开销

时间:2019-06-25 14:02:12

标签: spark-streaming

我正在尝试实现火花流应用程序的仿真。最初,我读取所有批次,然后将它们添加到其他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
     })

0 个答案:

没有答案