如果你看到下錯誤消息,你可以通過改變解決這個錯誤火花配置(AWS|Azure當你開始集群。
序列化任務XXX: XXX是XXX字節,超過最大允許:spark.rpc.message。最大尺寸(XXX字節)。考慮增加spark.rpc.message。最大尺寸或使用廣播變量為大值。
改變火花配置設置的屬性:
spark.rpc.message.maxSize
優化配置是一個選擇的時候,這個錯誤消息通常意味著你發送一些大型對象從司機到執行人,例如,電話並行化一個大名單,或將一個大R DataFrame DataFrame火花。
如果是這樣,我們建議首先審計代碼刪除你使用大型對象,或利用廣播變量。如果不解決這個錯誤,你可以增加分區號分裂大列表到多個小的減少引發RPC消息大小。
這裏是Python和Scala的示例:
Python
largeList = […)#這是一個很大的列表partitionNum = 100 #增加這個數量如果必要抽樣= sc.parallelize (largeList, partitionNum) ds = rdd.toDS ()刪除
Scala
val largeList = Seq(…) / /這是一個大名單val partitionNum = 100 / /必要時增加這個數字val抽樣= sc.parallelize (largeList partitionNum) val ds = rdd.toDS ()刪除
R用戶需要增加火花配置spark.default.parallelism增加在集群初始化分區號。你不能設置這個配置創建集群後。