Влияет ли размер файлов деталей на производительность Spark SQL? - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь запросить hdfs, в которых много файлов деталей (avro).Недавно мы внесли изменения, чтобы уменьшить параллелизм, и, таким образом, размер файлов деталей увеличился, размер каждого из этих файлов деталей находится в диапазоне от 750 МБ до 2 ГБ (мы используем потоковую потоковую запись для записи даты в hdfs с 10-минутными интервалами,поэтому размер этих файлов зависит от объема данных, которые мы обрабатываем из апстрима).Количество файлов деталей будет около 500. Мне было интересно, будет ли размер этих файлов деталей / количество файлов деталей играть какую-либо роль в производительности spark SQL?

Я могу предоставить больше информации, если потребуется.

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Как правило, чем меньше, тем лучше файлы большего размера,

Одна проблема заключается в том, можно ли разделить файл и как.

  • Файлы, сжатые с помощью .gz, не могут быть разделены: вы должны читать от начала до конца, так что не более одного работника одновременно получает один файл (кроме как в конце запросаи спекуляция может вызвать секунду).Используйте сжатие, такое как snappy, и все хорошо
  • очень маленькие файлы неэффективны, так как накладные расходы при запуске / коммите преобладают
  • в HDFS, небольшие файлы создают нагрузку на namenode, поэтому команда ops может быть недовольнадо
0 голосов
/ 29 ноября 2018

HDFS, Map Reduce и SPARK предпочитают файлы большего размера, чем многие маленькие файлы.S3 также имеет проблемы.Я не уверен, что вы имеете в виду HDFS или S3.

Перераспределение меньших файлов в меньшее количество больших файлов - не вдаваясь во все детали - позволит SPARK или MR обрабатывать меньше, но большие блокиданных, тем самым повышая скорость выполнения заданий за счет уменьшения числа задач сопоставления, необходимых для их чтения, и снижения стоимости хранилища из-за меньшего количества потерь и проблем с именами узлов.

В целом, небольшие файлыпроблема, о которой есть, что читать дальше.Например, https://www.infoworld.com/article/3004460/application-development/5-things-we-hate-about-spark.html. Просто чтобы прояснить ситуацию, я фанат Spark.

...