1. 程式人生 > >Windows下Spark-mlib儲存模型到本地報錯

Windows下Spark-mlib儲存模型到本地報錯

Windows下Spark-mlib儲存模型到本地報空指標解決方案

出這種錯誤真是一臉懵逼,程式碼肯定是沒問題的。二、解決辦法

下載編譯好的winutils.exe,該文章裡講述了出錯的原因; 把該執行檔案放置在某個路徑下,如 c:\\winutils\\bin; 在程式碼中加入這句話:System.setProperty("hadoop.home.dir","C:\\winutils")三、原因 在上述引用的文章中,大致講了一個意思:在Windows作業系統中,Hadoop中初始發行版本中的bug,導致Hadoop中用於評估檔案許可權的功能不能正常執行。在執行作業的時候,儲存到HDFS的路徑依舊是可達的,(上述錯誤雖然存在,但依舊在相應路徑下儲存了spark mlib跑出來的模型,只不過是沒有資料),但是map/reduce作業會執行失敗。 這個異常是屬於Hadoop在Windows上的bug所致,在Linux下不會報錯,也不用加上那句話。