在 APACHE SPARK 中使用 Scala Pickling 序列化,而不是 KryoSerializer 和 J



在搜索最佳Serialization技术时,我在下面找到了apache-spark链接https://github.com/scala/pickling#scalapicklingscala中的状态Serialization使用此框架将更快,更自动。

正如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 中,但找不到一种方法在不更改 Spark 接口的情况下将 scala/pickling 所需的类型信息包含在 Spark 中。当时,在Spark中更改接口是不行的。例如,RDD需要将Pickler[T]类型信息包含到其接口中,以便scala/pickling中的生成机制能够启动。

尽管在Spark 2.0.0中,所有这些都发生了变化。如果你使用Dataset s或DataFrame s,你会得到所谓的Encoder s。这甚至比斯卡拉/酸洗更专业。

在 Spark 2.x 中使用 Dataset s。它在序列化方面比普通RDD的性能要高得多。

相关内容

  • 没有找到相关文章