Что вызывает издержки сборщика мусора при использовании InputDStream в Spark-Streaming - PullRequest
1 голос
/ 25 июня 2019

Я пытаюсь реализовать симуляцию искрового потокового приложения. Сначала я читаю все пакеты, а затем добавляю их InputDStream в другом формате. После 90 итераций я прочитал более 5 ГБ данных, но только 14,4 МБ в хранилище: https://ibb.co/GHGsTLW что может вызвать эту проблему?

Размер данных составляет всего 75 МБ.

Это причина, по которой у меня возникают накладные расходы от сборщика мусора?

 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
     })
...