Я пытаюсь получить доступ к значению аккумулятора в задаче кластера. Но когда я делаю так, он бросает исключение:Как получить доступ к значению аккумулятора в задачах?
не может прочитать значение аккумулятора в
Я пытался использовать row.localValue
но он возвращает те же номера. Есть ли обходной путь?
private def modifyDataset(
data: String, row: org.apache.spark.Accumulator[Int]): Array[Int] = {
var line = data.split(",")
var lineSize = line.size
var pairArray = new Array[Int](lineSize-1)
var a = row.value
paiArray(0)=a
row+=1
pairArray
}
var sc = Spark_Context.InitializeSpark
var row = sc.accumulator(1, "Rows")
var dataset = sc.textFile("path")
var pairInfoFile = noHeaderRdd.flatMap{ data => modifyDataset(data,row) }
.persist(StorageLevel.MEMORY_AND_DISK)
pairInfoFile.count()