在搜索最佳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的性能要高得多。