在 APACHE SPARK 中通过 KryoSerializer 和 JavaSerializer 使用 Scala Pickling 序列化

Using Scala Pickling serialization In APACHE SPARK over KryoSerializer and JavaSerializer

在搜索 apache-spark 的最佳 Serialization 技巧时,我在下面找到了 link https://github.com/scala/pickling#scalapickling scala 中的 Serialization 使用此框架会更快、更自动化。

而as Scala Pickling有以下优点。 (参考 - https://github.com/scala/pickling#what-makes-it-different

所以,我想知道这个 Scala Pickling (PickleSerializer) 是否可以用在 apache-spark 而不是 KryoSerializer

提前致谢。如果我错了请原谅我。

注意:我正在使用 scala 语言编写 apache-spark(版本。1.4.1)应用程序。

我在 2014 年访问了 Databricks 几个月,试图以某种方式将 PicklingSerializer 合并到 Spark 中,但找不到将 scala/pickling 所需的类型信息包含到 Spark 中的方法更改 Spark 中的接口。当时,更改 Spark 中的接口是行不通的。例如,RDD 需要在其接口中包含 Pickler[T] 类型信息,以便 scala/pickling 中的生成机制启动。

尽管 Spark 2.0.0 改变了所有这些。如果你使用 Datasets 或 DataFrames,你会得到所谓的 Encoders。这比 scala/pickling.

更专业

在 Spark 2.x 中使用 Datasets。它在序列化方面比普通 RDDs

更高效