You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Mridul Muralidharan (JIRA)" <ji...@apache.org> on 2014/05/13 15:35:14 UTC

[jira] [Commented] (SPARK-1813) Add a utility to SparkConf that makes using Kryo really easy

    [ https://issues.apache.org/jira/browse/SPARK-1813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13996390#comment-13996390 ] 

Mridul Muralidharan commented on SPARK-1813:
--------------------------------------------

Writing a KryoRegistrator is the only requirement - rest are done as part of initialization anyway.
Registering classes with kryo is non trivial except for degenerate cases : for example, we have classes we have to use java read/write Object serialization, which support kyro serialization, which support java's external serialization, generated classes, etc.
And we would need a registrator ... ofcourse, it could be argued this is corner case, though I dont think so.

> Add a utility to SparkConf that makes using Kryo really easy
> ------------------------------------------------------------
>
>                 Key: SPARK-1813
>                 URL: https://issues.apache.org/jira/browse/SPARK-1813
>             Project: Spark
>          Issue Type: Improvement
>          Components: Spark Core
>    Affects Versions: 1.0.0
>            Reporter: Sandy Ryza
>
> It would be nice to have a method in SparkConf that makes it really easy to use Kryo and register a set of classes. without defining you
> Using Kryo currently requires all this:
> {code}
> import com.esotericsoftware.kryo.Kryo
> import org.apache.spark.serializer.KryoRegistrator
> class MyRegistrator extends KryoRegistrator {
>   override def registerClasses(kryo: Kryo) {
>     kryo.register(classOf[MyClass1])
>     kryo.register(classOf[MyClass2])
>   }
> }
> val conf = new SparkConf().setMaster(...).setAppName(...)
> conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
> conf.set("spark.kryo.registrator", "mypackage.MyRegistrator")
> val sc = new SparkContext(conf)
> {code}
> It would be nice if it just required this:
> {code}
> SparkConf.setKryo(Array(classOf[MyFirstClass, classOf[MySecond]))
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)