問題
你工作的集群上運行一個筆記本,你得到一個錯誤消息,表明輸出太大。
筆記本太大的輸出。原因:rpc響應(20975548字節)超過20971520字節的極限
導致
這個錯誤消息可能發生在集群工作隻要筆記本輸出大於20 MB。
- 如果您使用多個顯示(),displayHTML (),顯示()命令你的筆記本,這增加的輸出量。一旦產出超過20 MB,發生錯誤。
- 如果您使用多個print ()命令你的筆記本,這可以增加產量stdout。一旦產出超過20 MB,發生錯誤。
- 如果您正在運行一個流和啟用工作awaitAnyTermination在集群的火花配置(AWS|Azure|GCP),它試圖獲取整個輸出在一個單一的請求。如果超過20 MB,發生錯誤。
解決方案
- 刪除任何不必要的顯示(),displayHTML (),print (),顯示()在你的筆記本中,命令。這些可能是有用的調試,但不建議用於生產工作。
- 如果你的工作產出超過20 MB限製,試著將你的日誌log4j或禁用stdout通過設置spark.databricks.driver。disableScalaOutput真實在集群的火花配置。