Spark 实践 - RDD 的 join操作之需要注意的事项 - RDD为空的join操作

本文探讨了Spark中RDD的join操作,当其中一个参与join的RDD为空时,结果也会为空。作者通过实际遇到的问题和调试过程,强调了在编写Spark程序时考虑这种情况的重要性,并提供了一个示例来验证这种行为。注意在处理数据时要考虑临界值,避免因为空RDD导致的无声无息的错误。
摘要由CSDN通过智能技术生成

一、简单介绍

       RDD的join操作,如果存在有join的RDD为空,则计算后的结果也将是空的。

二、问题与排错

       原先写好的Spark Driver,运行的好好的,亲测运行的结果与预期也是一致的,但是今天测试人员反映数据不对,有缺少计算出来的数据,嘿,程序员的第一反应(内心):这是不可能的事情,我自己都测试过了,是不是你自己搞错测试数据了。于是接下来就是一个证明谁错误的过程——找测试人员要了没有计算到的测试数据,然后运行调试,汗——真的没有输出结果,而且程序没有报错,这说明程序语法和环境没有问题,应该是数据处理的业务逻辑出了问题,那就开始找问题吧。

看了运行日志,有所发现:

16/12/26 16:54:20 INFO DAGScheduler: Submitting 2 missing tasks from ResultStage 11 (MapPartitionsRDD[59] at map at MyApplication.scala:91)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值