1.什么時候發(fā)生序列化
我們在spark應(yīng)用中使用到的算子函數(shù)都會被發(fā)送到Executor去執(zhí)行乖阵,Driver端并不會執(zhí)行。所以如果算子中用到了Driver端的自定義對象,那么就需要將該實例序列化后通過網(wǎng)絡(luò)傳輸?shù)矫總€Executor中峻厚。
都會出現(xiàn)下面的異常
2.如何解決
方法:自定義class實現(xiàn)java.io.Serializable接口
我們在spark應(yīng)用中使用到的算子函數(shù)都會被發(fā)送到Executor去執(zhí)行乖阵,Driver端并不會執(zhí)行。所以如果算子中用到了Driver端的自定義對象,那么就需要將該實例序列化后通過網(wǎng)絡(luò)傳輸?shù)矫總€Executor中峻厚。
都會出現(xiàn)下面的異常
方法:自定義class實現(xiàn)java.io.Serializable接口