apache-spark - 当您使用 Pyspark 时,您是否受益于 Kryo 序列化程序?

标签 apache-spark pyspark kryo

我读到 Kryo 序列化器在 Apache Spark 中使用时可以提供更快的序列化。但是,我通过 Python 使用 Spark。

切换到 Kryo 序列化程序后,我还能获得显着的好处吗?

最佳答案

Kryo不会对 PySpark 产生重大影响因为它只是将数据存储为 byte[]对象,即使使用 Java 也可以快速序列化。

但它可能值得一试——您只需设置 spark.serializer配置并尽量不注册任何类。

可能会产生更大影响的是将您的数据存储为 MEMORY_ONLY_SER并启用 spark.rdd.compress ,这将压缩他们的数据。

Java 这会增加一些 CPU 开销,但是 python 运行速度要慢一些,所以这可能无关紧要。它还可能通过减少 GC 或让您缓存更多数据来加速计算。

引用:Matei Zaharia's answer在邮件列表中。

关于apache-spark - 当您使用 Pyspark 时,您是否受益于 Kryo 序列化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36278574/

相关文章:

apache-spark - Apache spark 没有给出正确的输出

java - Apache Spark : get the executor ID in the map reduce pipeline

apache-spark - 将 Spark 与 iPython Notebook 连接起来

amazon-web-services - AWS JupyterHub pyspark notebook 使用 pandas 模块

python - Pyspark - 将另一列添加到稀疏向量列

java - ant - 禁用 Ivy 以在每次运行时获取依赖项

apache-spark - YARN ResourceManager的Total Memory是怎么计算的?

scala - Spark Kryo 序列化失败

java - 如何在 Storm 拓扑中序列化非原始类型(您自己的类)的字段?

Java readInt 方法返回 Scala 中 Int 的 LittleEndian 而不是 BigEndian 值