学习一下 spark kryo

spark kryo 中需要的内容很多,如何坚持高效率的序列化遇到的各类数据 对象,需要对应的技术处理。参考一篇内容。

Kryo序列化库主要参数介绍

先介绍几个相关的配置:

Property Name Default Meaning
spark.kryo.classesToRegister (none) 如果您使用Kryo序列化,请给出一个以逗号分隔的自定义类名称list列表,以向Kryo注册。有关更多细节,请参阅调优指南[tuning guide]。
spark.kryo.referenceTracking true 跟踪对同一个对象的引用情况,这对发现有循环引用或同一对象有多个副本的情况是很有用的。设置为false可以提高性能
spark.kryo.registrationRequired false 是否需要在Kryo登记注册?如果为true,则序列化一个未注册的类时会抛出异常
spark.kryo.registrator (none) 为Kryo设置这个类去注册你自定义的类。最后,如果你不注册需要序列化的自定义类型,Kryo也能工作,不过每一个对象实例的序列化结果都会包含一份完整的类名,这有点浪费空间
spark.kryo.unsafe false 是否使用基于不安全的Kryo序列化器。使用不安全的IO可以大大加快速度。
spark.kryoserializer.buffer.max 64m 允许使用序列化buffer的最大值
spark.kryoserializer.buffer 64k 每个Executor中的每个core对应着一个序列化buffer。如果你的对象很大,可能需要增大该配置项。其值不能超过spark.kryoserializer.buffer.max

spark.serializer org.apache.spark. serializer.JavaSerializer 序列化时用的类,需要申明为org.apache.spark.serializer.KryoSerializer。这个设置不仅控制各个worker节点之间的混洗数据序列化格式,同时还控制RDD存到磁盘上的序列化格式及广播变量的序列化格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值