今天中午,在做數據清洗的時候,發現了這個數據格式錯誤,幾次更改還是報錯,最後發現,這裏的“null”,其實就是“null”字符串,而不是String中的空值null。
因爲這個數據是從mysql中傳上來的,所以一直在看mysql中的數據,覺得是null,不是“null”,但是從mysql傳到HDFS上時,它已經被轉化成“null”了,所以,如果想要繼續使用,就應該把判斷條件改成判斷字符串
int sum_mark;
if (subjective_mark.equals("null")){
sum_mark = Integer.valueOf(objective_mark);
}else {
sum_mark = Integer.valueOf(subjective_mark)+Integer.valueOf(objective_mark);
}
OK!!