序列化问题 - spark scala

在使用scala 时,给我们带来了很多便利,但同时,也有很多我们没注意到的坑。 我是从 Java 转过来的,所使用上多少会给两者做下比较,本文不做过多的比较,主要是为了记录下,在 spark 中使用 scala - Map - 序列化时遇到的一些坑。打包方式为 maven - fat jarmutable Map,序列化使用的对象,为应用程序(spark_yarn_cache_files)...
摘要由CSDN通过智能技术生成

在使用scala 时,给我们带来了很多便利,但同时,也有很多我们没注意到的坑。 我是从 Java 转过来的,所使用上多少会给两者做下比较,本文不做过多的比较,主要是为了记录下,在 spark 中使用 scala - Map - 序列化时遇到的一些坑。

打包方式为 maven - fat jar

  • mutable Map,序列化使用的对象,为应用程序(spark_yarn_cache_files)当前对象,反序列化使用的对象为classpath中的对象引用,为每个executor当前环境中的包和对象,Map 的 key,value 均反序列化失败
  • immutable Map,序列化和反序列化,使用的对象均为应用程序(spark_yarn_cache_files)中的对象,Map 的 key 为自定义类或依赖有 冲突的 jar 包时,反序列化失败,value 反序列化 正常

其实这个问题还是找了很久的,最终发现还是跟scala有关,当 Map 换为 Java 提供的 API 时,序列化正常,而 scala 的 Map 无论是 使用 有冲突的包,还是 使用 用户自定义的类,都还是有问题的

 

以下是实际问题中遇到的问题记录 

scala.collection.mutable.Map

1、--master yarn-cluster

            a、--jars不能添加应用程序的「jar包」,可以添加「guva包」,「driver」「executor」使用mutable.map ** 反序列化 ** 找不到添加jar包的类

                b、<

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值