在 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 改变了所有这些。如果你使用 Dataset
s 或 DataFrame
s,你会得到所谓的 Encoder
s。这比 scala/pickling.
更专业
在 Spark 2.x 中使用 Dataset
s。它在序列化方面比普通 RDDs
更高效
在搜索 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 改变了所有这些。如果你使用 Dataset
s 或 DataFrame
s,你会得到所谓的 Encoder
s。这比 scala/pickling.
在 Spark 2.x 中使用 Dataset
s。它在序列化方面比普通 RDDs