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/06/26 17:35:45 UTC

Re: Kryo serialization of classes in additional jars

Hi,

I am having this problem on spark 1.4. Do you have any ideas how to 
solve it? I tried to use spark.executor.extraClassPath, but it did not help

BR,
Patcharee

On 04. mai 2015 23:47, Imran Rashid wrote:
> Oh, this seems like a real pain.  You should file a jira, I didn't see 
> an open issue -- if nothing else just to document the issue.
>
> As you've noted, the problem is that the serializer is created 
> immediately in the executors, right when the SparkEnv is created, but 
> the other jars aren't downloaded later.  I think you could workaround 
> with some combination of pushing the jars to the cluster manually, and 
> then using spark.executor.extraClassPath
>
> On Wed, Apr 29, 2015 at 6:42 PM, Akshat Aranya <aaranya@gmail.com 
> <ma...@gmail.com>> wrote:
>
>     Hi,
>
>     Is it possible to register kryo serialization for classes
>     contained in jars that are added with "spark.jars"?  In my
>     experiment it doesn't seem to work, likely because the class
>     registration happens before the jar is shipped to the executor and
>     added to the classloader.  Here's the general idea of what I want
>     to do:
>
>        val sparkConf = new SparkConf(true)
>           .set("spark.jars", "foo.jar")
>           .setAppName("foo")
>           .set("spark.serializer",
>     "org.apache.spark.serializer.KryoSerializer")
>
>     // register classes contained in foo.jar
>         sparkConf.registerKryoClasses(Array(
>           classOf[com.foo.Foo],
>           classOf[com.foo.Bar]))
>
>