Size: a a a

2019 April 23

AA

Anton Alekseev in Moscow Spark
Pavel Klemenkov
Какой именно метод использовал? Треды на локальной тачке?
На кластере из 3-х машинок
источник

PK

Pavel Klemenkov in Moscow Spark
А какого размер датасет?
источник

PK

Pavel Klemenkov in Moscow Spark
И на сколько партиций побит датафрейм?
источник

AA

Anton Alekseev in Moscow Spark
Окей, сейчас уточню
источник

AA

Anton Alekseev in Moscow Spark
Pavel Klemenkov
А какого размер датасет?
Запускаю параллельно через треды, два теста. Один логрегрессию обучает и делает предикт.
Размеры входных датасетов
rows X columns X partitions
(896, 3, 5) и длинна векторов фичей внутри фрейма 16340
Второй тест делает кастомный процессинг, с джойнами и подсчетом статистик. На входе
rows X columns X partitions
(14652288, 3, 8) и (14640640, 3, 10)
Я понимаю что без кода это гадание, но мне интересны общие практики.
источник

PK

Pavel Klemenkov in Moscow Spark
Ну первый тест вообще смешной. В каждой партиции, если повезет, не больше 200 записей. Там накладных расходов на старт джобы и планирование тасков сильно больше
источник

AA

Anton Alekseev in Moscow Spark
А да, я не уточнил, там логрегрессия учится OvR, тоесть порядка 10 логрегрессий обучается, если это важно.
источник

PK

Pavel Klemenkov in Moscow Spark
Второй не очень понимаю. Без кода реально сложно. Но обшая практика такая, что если влезает на одну тачку, то делай на одной тачки (потоками, процессами, пофиг). Хотя в питоне с CPU-интенсив вычислениями лучше многопоточностью не пользоваться. Если не влезает, то можно и спарк заюзать. Пример в статье про UDAF - нормальный, так постоянно делают
источник

AA

Anton Alekseev in Moscow Spark
Pavel Klemenkov
Второй не очень понимаю. Без кода реально сложно. Но обшая практика такая, что если влезает на одну тачку, то делай на одной тачки (потоками, процессами, пофиг). Хотя в питоне с CPU-интенсив вычислениями лучше многопоточностью не пользоваться. Если не влезает, то можно и спарк заюзать. Пример в статье про UDAF - нормальный, так постоянно делают
Я так понял, что засабмитив джобу через треды на спарк датафрейме, они будут распределённо исполнятся, а не на драйвере. Logit из Pyspark ml беру.
источник

AA

Anton Alekseev in Moscow Spark
Ну это как вы написали больше оверхеда вызовет для старта джобы.
источник

E

Eugene in Moscow Spark
Anton Alekseev
Я так понял, что засабмитив джобу через треды на спарк датафрейме, они будут распределённо исполнятся, а не на драйвере. Logit из Pyspark ml беру.
Нет. Это все упадёт в FIFO очередь.
источник

E

Eugene in Moscow Spark
На крайнем Москоу спарке было выступление про FAIR.
источник

PK

Pavel Klemenkov in Moscow Spark
Eugene
Нет. Это все упадёт в FIFO очередь.
Да, тут другой вопрос. Надо fair scheduler тогда запускать. У Андрея титова на последнем митапе про это было в презентации
источник

AA

Anton Alekseev in Moscow Spark
Eugene
Нет. Это все упадёт в FIFO очередь.
Хм, странно а оутпут тестов падает вперемешку как будто и правда независимо исполняются.
источник

E

Eugene in Moscow Spark
Скорее всего - это аутпуты из потоков на драйвере.
источник

E

Eugene in Moscow Spark
Они могут сыпать в перемешку, пока таски обрабатываются последовательно.
источник

AA

Anton Alekseev in Moscow Spark
Pavel Klemenkov
Да, тут другой вопрос. Надо fair scheduler тогда запускать. У Андрея титова на последнем митапе про это было в презентации
Мне про fair scheduler надо почитать или мне это не поможет?
источник

PK

Pavel Klemenkov in Moscow Spark
Anton Alekseev
Мне про fair scheduler надо почитать или мне это не поможет?
Лучше код показать )
источник

E

Eugene in Moscow Spark
источник

E

Eugene in Moscow Spark
На всякий случай.)
источник