You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@spark.apache.org by patcharee <Pa...@uni.no> on 2015/02/27 11:23:23 UTC

NoSuchElementException: None.get

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-unsubscribe@spark.apache.org
For additional commands, e-mail: user-help@spark.apache.org