1. 程式人生 > >spark中遇到Exception in thread "main" java.util.NoSuchElementException: key not found

spark中遇到Exception in thread "main" java.util.NoSuchElementException: key not found

這個問題如果是一般的java或scala專案,這個問題當然沒什麼好說的,就是找不到對應的鍵,但是我遇到的問題是在spark中,而且我確定不會出現鍵找不到的問題,所以一定是有其他問題.

首先,我spark專案中的所有任務都已經完成了以後才報錯,這一點很值得思考,然後從spark的機制來看,很可能是我的叢集中的某個節點沒有訪問到我的map,所以會出現這個問題,

我的程式碼中,出問題的map的鍵型別是String,但是因為一些原因,我並沒有直接將鍵寫作本來的字串,而是利用其他的含有相同字面量的字串變數,才導致這個問題,問題的原因我猜測是因為在叢集中,我的本地變數經過這樣的轉換導致對應的字面量找不到,才發生這樣的錯誤,解決的辦法,就是直接用字串代替map中的變數,這樣問題就解決了