Size: a a a

2020 May 20

ЕГ

Евгений Глотов... in Moscow Spark
источник

R

Renarde in Moscow Spark
Arrow execution реализован примерно так:

1. на драйвере создается функция, написанная на Python. Она сериализуется и рассылается по всем нодам в виде pickle. Важно - зависимости в этой функции не всегда достаются автоматически, то есть сделать вот так:

// на драйвере
my_random_instance = SomeRandomClass()

def pyarrow_func():
   my_random_instance.apply_func()

В теории может не получиться, особенно если SomeRandomClass это импорт из локального файла, который не подцеплен к sparkContext.

2. В рантайме происходит следующее - партиции вычисляются и отправляются по нодам. на каждой ноде стартует питоновский процесс, основанный на PYSPARK_PYTHON. Этот процесс получает батчи через Arrow IPC протокол из Spark Worker Process (он выполняет сгенерированный catalyst-ом Java-код), обрабатывает их функцией и отправляет обратно через Arrow IPC в Spark Worker Process.
источник

R

Renarde in Moscow Spark
это уже сильно лучше чем старая версия без Arrow, где данные между spark worker process и python process передавались через записанные на диск pickle-файлы, но могут быть приколы с импортом.
источник

R

Renarde in Moscow Spark
Holden Karau вот тут рассказывает до/после Arrow - https://www.youtube.com/watch?v=dXPvlocXo34
источник

AA

Anton Alekseev in Moscow Spark
Омг, спасибо:)
источник

R

Renarde in Moscow Spark
в практике у нас был прикол разок, следующего характера:
на драйвере и dev-кластере стоял xgboost 0.6 . Моделька отучилась на данных, сериализовалась в Python, подгрузили класс и заброадкастили его. Запустили инференс в dev-кластере - все ок работает, никаких проблем. Вывели код на прод, запустили пайплайн - все посчиталось, заебок. Прогоняем тесты на распределение скоров предикта - а там все съехало к чертям. Стали смотреть детально на энвайроменты - на dev кластере - xgboost 0.6.11 , а на prod-кластере - 0.6.13. Мораль - надо тестировать все, не доверяйте инфраструктуре 😂
источник

K

KrivdaTheTriewe in Moscow Spark
ребят, кто на третий спарк уже переехал?
источник

GP

Grigory Pomadchin in Moscow Spark
KrivdaTheTriewe
ребят, кто на третий спарк уже переехал?
я думал у тебя скала 2.9 в проекте
источник

K

KrivdaTheTriewe in Moscow Spark
и еще, у кого есть нормальныый источник спарка на 2.12  скале с хадуп бинарями ?
источник

ZM

ZLoyer Matveev in Moscow Spark
Grigory Pomadchin
я думал у тебя скала 2.9 в проекте
жестоко
источник

K

KrivdaTheTriewe in Moscow Spark
KrivdaTheTriewe
и еще, у кого есть нормальныый источник спарка на 2.12  скале с хадуп бинарями ?
в смысле докер образ)
источник

K

KrivdaTheTriewe in Moscow Spark
Grigory Pomadchin
я думал у тебя скала 2.9 в проекте
ты очень злой, держу пари , что тут у 70 процентов 2.11
источник

K

KrivdaTheTriewe in Moscow Spark
и у 20 2.10
источник

ZM

ZLoyer Matveev in Moscow Spark
KrivdaTheTriewe
и у 20 2.10
еще 10 осталось
источник

GP

Grigory Pomadchin in Moscow Spark
KrivdaTheTriewe
в смысле докер образ)
докер образ?
источник

GP

Grigory Pomadchin in Moscow Spark
а зчем тебе докер образ со спарк бинарями? ты хочешь шел спарковый?
источник

K

KrivdaTheTriewe in Moscow Spark
Какая версия Спарка используете?
Анонимный опрос
19%
Spark Scala 2.12
57%
Spark Scala 2.11
2%
Spark Scala 2.10
21%
Не знаю
Проголосовало: 42
источник

GP

Grigory Pomadchin in Moscow Spark
если для девелопмента то стартуй просто драйвер из твого приложения
источник

GP

Grigory Pomadchin in Moscow Spark
удобнее
источник

K

KrivdaTheTriewe in Moscow Spark
Grigory Pomadchin
а зчем тебе докер образ со спарк бинарями? ты хочешь шел спарковый?
я из него спарк сабмит делаю
источник