Could also be transient object being referenced from within the custom code. 
When serialized the reference shows up as null even though you had set it in 
the parent object.

> On Jun 30, 2021, at 4:44 PM, Sean Owen <sro...@gmail.com> wrote:
> 
> The error is in your code, which you don't show. You are almost certainly 
> incorrectly referencing something like a SparkContext in a Spark task.
> 
> On Wed, Jun 30, 2021 at 3:48 PM Amit Sharma <resolve...@gmail.com 
> <mailto:resolve...@gmail.com>> wrote:
> Hi , I am using spark 2.7 version with scala. I am calling a method as below 
> 
> 1. val rddBacklog = spark.sparkContext.parallelize(MAs) // MA is list of say 
> city
> 2. rddBacklog.foreach(ma => doAlloc3Daily(ma, fteReview.forecastId, 
> startYear, endYear)) 
> 3.doAlloc3Daily method just doing a database call and doing some scala 
> calculation (no rdd or dataframe)
> 
> Line number 2 I  am getting below  nullpointer intermittently on cluster but 
> never on local.
> java.lang.NullPointerException
>       at 
> sparkStreaming.CalculateFteReview.doAlloc3Daily(CalculateFteReview.scala:1307)
>       at 
> sparkStreaming.CalculateFteReview$$anonfun$getNewDistribution$2.apply(CalculateFteReview.scala:1199)
>       at 
> sparkStreaming.CalculateFteReview$$anonfun$getNewDistribution$2.apply(CalculateFteReview.scala:1199)
>       at scala.collection.Iterator$class.foreach(Iterator.scala:893)
>       at 
> org.apache.spark.InterruptibleIterator.foreach(InterruptibleIterator.scala:28)
>       at 
> org.apache.spark.rdd.RDD$$anonfun$foreach$1$$anonfun$apply$28.apply(RDD.scala:927)
>       at 
> org.apache.spark.rdd.RDD$$anonfun$foreach$1$$anonfun$apply$28.apply(RDD.scala:927)
>       at 
> org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2074)
>       at 
> org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2074)
>       at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
>       at org.apache.spark.scheduler.Task.run(Task.scala:109)
>       at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> 
> 
> Thanks
> Amit
> 
> 
> 
> 
> 
> 

Reply via email to