MAPREDUCE服务 MRS-建议:在对性能要求比较高的场景下,可以使用Kryo优化序列化性能
在对性能要求比较高的场景下,可以使用Kryo优化序列化性能
Spark提供了两种序列化实现:
org.apache.spark.serializer.KryoSerializer:性能好,兼容性差
org.apache.spark.serializer.JavaSerializer:性能一般,兼容性好
使用:conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
为什么不默认使用Kryo序列化?
Spark默认使用的是Java的序列化机制,也就是ObjectOutputStream/ObjectInputStream API来进行序列化和反序列化。但是Spark同时支持使用Kryo序列化库,Kryo序列化类库的性能比Java序列化类库的性能要高很多。官方介 绍,Kryo序列化机制比Java序列化机制,性能高10倍左右。Spark之所以默认没有使用Kryo作为序列化类库,是因为Kryo要求最好要注册所 有需要进行序列化的自定义类型,因此对于开发者来说,这种方式比较麻烦。
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- 性能测试使用教程_性能测试操作步骤_性能测试快速入门-华为云
- 性能测试使用流程_性能测试怎么样_性能测试 CodeArts PerfTest-华为云
- 性能测试产品优势_性能测试应用场景_性能测试CodeArts PerfTest-华为云
- 大数据分析是什么_使用MapReduce_创建MRS服务
- 应用性能管理应用场景_应用性能监控_ 应用性能管理 APM-华为云
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- MapReduce服务_什么是HDFS_HDFS特性
- 主机安全_应用安全_网站安全-华为云