заблокировать удаленное повреждение, если широковещательный порог соединения = 10 МБ - PullRequest
0 голосов
/ 24 апреля 2019

Работает с повреждением удаленного блока при неудачном запросе, если для spark.sql.autoBroadcastJoinThreshold установлено значение 10 МБ

  • Подтвердите наличие 20 ГБ executor.memory и 16 ГБ driver.memory
  • установить spark.sql.autoBroadcastJoinThreshold в -1, запрос выполнен успешно
  • установить spark.sql.autoBroadcastJoinThreshold в 10485760, запрос не выполнен
  • сообщение об ошибке

Вызывается: java.io.IOException: org.apache.spark.SparkException: поврежденный удаленный блок broadcast_477_piece0 для broadcast_477: 298778625! = -992055931 в org.apache.spark.util.Utils $ .tryOrIOException (Utils.scala: 1350) в org.apache.spark.broadcast.TorrentBroadcast.readBroadcastBlock (TorrentBroadcast.scala: 207) в org.apache.spark.broadcast.TorrentBroadcast._value $ lzycompute (TorrentBroadcast.scala: 66) в org.apache.spark.broad .TorrentBroadcast._value (TorrentBroadcast.scala: 66) в org.apache.spark.broadcast.TorrentBroadcast.getValue (TorrentBroadcast.scala: 96)

  • Я оставил внешнее соединение таблицей 5 ГБ с несколькими таблицами классов МБ, что имеет смысл использовать широковещательное соединение.

  • Наблюдение, которое у меня есть, - это 1 таблица с 24 МБ, которая также транслируется на https://issues.apache.org/jira/browse/SPARK-27505

spark.sql ( ""» выбрать из 5ГБ таблица левого внешнего соединения 5 МБ таблица левого внешнего соединения 1 МБ таблица левого внешнего соединения 24 МБ таблица левого внешнего соединения 1 МБ таблица "" ") .write.mode (" перезаписать "). saveAsTable (" новая таблица ")

мне не имеет смысла транслировать таблицу 24 МБ. Это не должно и запрос должен быть выполнен успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...