Size: a a a

2020 July 22

A🦕

Alexander Rodionov 🦕... in Moscow Spark
Mi
скорее всего да, но тут зависит от того  чего  хотели  добиться в итоге
делал repartition  чтобы одна партиция была примерно 100к строк чтобы паралельно делать вычисления в ней (xgboost)

а когда 37 - слишком огромные партиции, долго считается
и другие ноды "простаивают"
источник

PK

Pavel Klemenkov in Moscow Spark
Alexander Rodionov 🦕🥦🥬🥒🍏🌵🦚🌲🌳🌴🌿☘️🍀🦖🦎🐍🐊🐸🍃🦠🌱🐢🐉🌾
проверил, 300 файлов)
тоесть делать repartition при каждом чтении?
ну .persist можно
Если у тебя меньше 300 ядер под джобу то 300 партиций не особо помогут
источник

A🦕

Alexander Rodionov 🦕... in Moscow Spark
Pavel Klemenkov
Если у тебя меньше 300 ядер под джобу то 300 партиций не особо помогут
300 имеются)
источник

PK

Pavel Klemenkov in Moscow Spark
Ну тогда repartition сделать имеет смысл
источник

PK

Pavel Klemenkov in Moscow Spark
Хотя, зависит от размера файлика опять же
источник

A🦕

Alexander Rodionov 🦕... in Moscow Spark
Pavel Klemenkov
Ну тогда repartition сделать имеет смысл
просто мне нужно несколько раз (десятки) перезапускать на разных параметрах и считать
и каждый раз shuffle происходит долгий во время repartition
пробывал .persist(StorageLevel.MEMORY_AND_DISK)  после repartition делать
но он его как то сбрасывает этот кэш и все равно долго считается
наверное стоит еще .checkpoint() попробывать
источник

AS

Andrey Smirnov in Moscow Spark
Pavel Klemenkov
Если у тебя меньше 300 ядер под джобу то 300 партиций не особо помогут
может у него потом партиция в память не влезает, вот и хочет уменьшить.
хотя лучше конечно уменьшить количество значков в никнайме :)
источник

NN

No Name in Moscow Spark
Mi
а файлов у вас 300 появляется? Спарк не дает гарантий что  прочитается ровно столько же, сколько записалось
А можно чуть подробнее, как это вообще работает? Как спарк определяет, сколько файлов при чтении получится, и зачем вообще он меняет из количество?
источник

M

Mi in Moscow Spark
No Name
А можно чуть подробнее, как это вообще работает? Как спарк определяет, сколько файлов при чтении получится, и зачем вообще он меняет из количество?
Это вам уже надо читать документацию к конкретному источнику данных и как он работает
источник

BG

Bogdan Gromov in Moscow Spark
⎡300 / 40⎤ = 8, ⎣300 / 8⎦= 37
источник

NN

No Name in Moscow Spark
Mi
Это вам уже надо читать документацию к конкретному источнику данных и как он работает
А источник данных тут причем, если я не по jdbc их вычитываю откуда-то, а речь об уже предварительно сохранённой спарком таблички с указанием конкретного количества партиций ? Файликов же в хдфс физически 300 в данном кейсе, с чего вдруг при чтении их трансформировать в 47?
источник

PK

Pavel Klemenkov in Moscow Spark
No Name
А источник данных тут причем, если я не по jdbc их вычитываю откуда-то, а речь об уже предварительно сохранённой спарком таблички с указанием конкретного количества партиций ? Файликов же в хдфс физически 300 в данном кейсе, с чего вдруг при чтении их трансформировать в 47?
Вообще при чтении из HDFS, в общем случае, создается столько партиций, сколько HDFS-блоков. Какого размера файлик в среднем?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Разные файлы мелкие ещё и мёрджиться могут в один инпут сплит
источник

NN

No Name in Moscow Spark
Евгений Глотов
Разные файлы мелкие ещё и мёрджиться могут в один инпут сплит
От формата зависит?
источник

A🦕

Alexander Rodionov 🦕... in Moscow Spark
Pavel Klemenkov
Вообще при чтении из HDFS, в общем случае, создается столько партиций, сколько HDFS-блоков. Какого размера файлик в среднем?
проверил размеры файлов - примерно одинаковые, маленьких нет
(это размер в байтах)

формат snappy.parquet
источник

ЕГ

Евгений Глотов... in Moscow Spark
Alexander Rodionov 🦕🥦🥬🥒🍏🌵🦚🌲🌳🌴🌿☘️🍀🦖🦎🐍🐊🐸🍃🦠🌱🐢🐉🌾
проверил размеры файлов - примерно одинаковые, маленьких нет
(это размер в байтах)

формат snappy.parquet
источник

PK

Pavel Klemenkov in Moscow Spark
Alexander Rodionov 🦕🥦🥬🥒🍏🌵🦚🌲🌳🌴🌿☘️🍀🦖🦎🐍🐊🐸🍃🦠🌱🐢🐉🌾
проверил размеры файлов - примерно одинаковые, маленьких нет
(это размер в байтах)

формат snappy.parquet
В смысле нет? Там средний размер около 10 метров. Это, скорее всего, в 10 раз меньше HDFS блока
источник

ЕГ

Евгений Глотов... in Moscow Spark
Можно попробовать вот этот параметр уменьшить, размер инпутсплита, тогда будет больше тасков
источник

ЕГ

Евгений Глотов... in Moscow Spark
Pavel Klemenkov
В смысле нет? Там средний размер около 10 метров. Это, скорее всего, в 10 раз меньше HDFS блока
Но непонятно, почему 37 партиций, а не 30 или не 29, например)
источник

A🦕

Alexander Rodionov 🦕... in Moscow Spark
Pavel Klemenkov
В смысле нет? Там средний размер около 10 метров. Это, скорее всего, в 10 раз меньше HDFS блока
понял, я думал маленькие по сравнению с другими а не просто маленькие
тогда становится яснее
источник