spark一个奇怪的bug

见下面代码:
val right_rdd=rightplan.execute()
val right_result=right_rdd.collect()
rightplan是一个SparkPlan,若直接collect取数据,则取到的数据集是每个分区内部的最后一条数据*分区内的总记录个数:

但是单独取InternalRow行内的数据的话,是可以取到的,真实数据集是:

collect前后取saveasTextFile()都是正确的,只有collect()取到的是错误的.很奇怪
这种情况下,所以采用副本的形式转换数据集:
val right_rdd=rightplan.execute().map(iter=>iter.copy())
val right_result=cccc.collect()
这样就可以取到真实数据集了,可能是其中的某个逻辑过程有问题,暂时没找到。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值