問題:
使用Spark時 RDD的map,foreach等操作正常,執行collect到本地時報錯,本地文件大小約爲5m。
解決:
在博客上查報錯信息有如下解釋:
1.dirver端內存不足,spark強制關閉了任務,這裏本地文件爲5m,排除內存不足問題
2.spark core version 與 io.netty 的版本不一致造成衝突
於是懷疑是netty版本不對應,尋找其他工程中的External Libraris發現netty版本偏高(圖中紅線部分),在pom中加入新的netty依賴,異常解除。
tip:生產環境中未報錯,rdd的所有action都沒問題,本地collect驗證數據時發現這個坑。
報錯信息:
修改pom:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.29.Final</version>
</dependency>