Hi,

I got NoSuchElementException when I tried to iterate through a Map which contains some elements (not null, not empty). When I debug my code (below). It seems the first part of the code which fills the Map is executed after the second part that iterates the Map. The 1st part and 2nd part belongs to a method of a case class, it should be executed sequentially? Any ideas?

Best,
Patcharee

-------------------------------------------------------------------------------------------
java.util.NoSuchElementException: None.get
    at scala.None$.get(Option.scala:313)
    at scala.None$.get(Option.scala:311)
at no.uni.computing.etl.CalculateHeightClass$$anonfun$calculateHeightForEachZ$2.apply(LoadWrfIntoHive.scala:161) at no.uni.computing.etl.CalculateHeightClass$$anonfun$calculateHeightForEachZ$2.apply(LoadWrfIntoHive.scala:156)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.collection.MapLike$DefaultKeySet.foreach(MapLike.scala:174)
at no.uni.computing.etl.CalculateHeightClass.calculateHeightForEachZ(LoadWrfIntoHive.scala:156) at no.uni.computing.etl.LoadWrfIntoHive$$anonfun$6.apply(LoadWrfIntoHive.scala:74) at no.uni.computing.etl.LoadWrfIntoHive$$anonfun$6.apply(LoadWrfIntoHive.scala:74)
    at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
    at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371)
at org.apache.spark.util.collection.ExternalSorter.insertAll(ExternalSorter.scala:210) at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:65) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:68) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
    at org.apache.spark.scheduler.Task.run(Task.scala:56)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:196) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)


-------------------------------------------------------------------------------------------
object LoadWrfIntoHive {
    def main(args: Array[String]) {
        ..
val listDataHeightRDD = groupDataHeightRDD.map(CalculateHeightClass().calculateHeightForEachZ)
        ..
    }
}

case class CalculateHeightClass() {
def calculateHeightForEachZ(x: (String, Iterable[RawDataForHeight])): (String, Map[Integer,Float]) = {
        var result: Map[Integer, Float] = Map()
var valMap: Map[Integer, scala.collection.mutable.MutableList[Double]] = Map()
        val it = x._2.iterator
        while (it.hasNext) {
            //Adding element into valMap
        }
        for (currZ <- valMap.keySet) { <---- ERROR THROWN

        }
        (x._1, result)
    }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@spark.apache.org
For additional commands, e-mail: user-h...@spark.apache.org

Reply via email to