开发者社区> 问答> 正文

Kryo序列化怎么用?

Kryo序列化怎么用?

展开
收起
芯在这 2021-12-08 21:48:07 268 0
1 条回答
写回答
取消 提交回答
  • 可以在创建 SparkContext 之前,通过调用 System.setProperty("spark.serializer", "spark.KryoSerializer"),将序列化方式切换成Kryo。

    但是 Kryo 需要用户进行注册,这也是为什么 Kryo 不能成为 Spark 序列化默认方式的唯一原因,但是建议对于任何“网络密集型”(network-intensive)的应用,都采用这种方式进行序列化方式。

    Kryo文档描述了很多便于注册的高级选项,例如添加用户自定义的序列化代码。

    如果对象非常大,你还需要增加属性 spark.kryoserializer.buffer.mb 的值。该属性的默认值是32,但是该属性需要足够大以便能够容纳需要序列化的最大对象。

    最后,如果你不注册你的类,Kryo仍然可以工作,但是需要为了每一个对象保存其对应的全类名(full class name),这是非常浪费的。

    2021-12-08 21:48:23
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JAVA反射原理以及一些常见的应用 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载