1:問題拋出
今天在scala中,執行 a join b,a b都是RDD,然後filter 然後map執行一些操作
join(a,b).filter(x=>x._2!=None || x._3!=None).map(x=>x.toList.maString(";"))
然後就報錯 在 map 中 java.lang.NullPointerException
2:原因
a b中某個RDD的value存在null,所以導致了這個錯誤,提前對 a和b進行如下操作即可
a.filter(x=>x._2 != numm)
b.filter(x=>x._2 != numm)
3:scala中空數據用None表示,java中用null表示,所以在join完畢,要對這兩部分都進行filter掉
join(a,b).filter(x=>x._2!=None || x._3!=None || x._2 != null || x._3 != null).map(x=>x.toList.maString(";"))