Are there any other workarounds that could be used to pass in the values
from *someVariable *to the transformation function ?


On Tue, Aug 12, 2014 at 10:48 AM, Sean Owen <so...@cloudera.com> wrote:

> I don't think static members are going to be serialized in the
> closure? the instance of Parse will be looking at its local
> SampleOuterClass, which is maybe not initialized on the remote JVM.
>
> On Tue, Aug 12, 2014 at 6:02 PM, Sunny Khatri <sunny.k...@gmail.com>
> wrote:
> > I have a class defining an inner static class (map function). The inner
> > class tries to refer the variable instantiated in the outside class,
> which
> > results in a NullPointerException. Sample Code as follows:
> >
> > class SampleOuterClass {
> >
> >      private static ArrayList<String> someVariable;
> >
> >      SampleOuterClass() {
> >            // initialize someVariable
> >      }
> >
> >     public static class Parse implements Function<...> {
> >           public TypeReturn call (...) {
> >                   // Try using someVariable: Raises NullPointerException
> >           }
> >     }
> >
> >     public void run() {
> >         RDD<> rdd = data.map(new Parse()).rdd()
> >     }
> > }
> >
> > Am I missing something with how Closures work with Spark or something
> else
> > is wrong ?
> >
> > Thanks
> > Sunny
> >
> >
>

Reply via email to