Size: a a a

2020 April 12

SO

Simon Osipov in Moscow Spark
Решил по совету выше поднять версию спарка..

На кластере 2.3.0
В hdfs лежит архив с 2.4.4, взял его, распаковал, добавил пару jar ников (например, драйвер для работы с PG), запаковал, положил рядом по адресу, где лежали jarники, которые запаковал.
В конфиг (согласно https://spark.apache.org/docs/latest/running-on-yarn.html) пробросил spark.yarn.archive с адресом.

Запускаю приложение, получаю py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext. org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master.

При этом я уверен, что в архиве есть все, ибо им пользуются
источник
2020 April 13

ИК

Иван Калининский... in Moscow Spark
Всем привет!

Подскажите, можно ли избавиться от такого поведения spark (2.2.0): когдя я ищу строки по конкретным значениям полей, указывая одно или несколько значений, то спарк создаёт сначала джоб на 4 таска, потом джоб на 20 тасков, потом на 100, потом на 500, на 2500, 12500, 62500 и так далее, постоянно умножая предыдущее количество тасков на 5. Это реально отдельные джобы, объединенные в один SQL,это видно в spark UI. Мне бы просто просканить таблицу, без отдельного шедулинга порций тасков.
источник

ЕГ

Евгений Глотов... in Moscow Spark
Иван Калининский
Всем привет!

Подскажите, можно ли избавиться от такого поведения spark (2.2.0): когдя я ищу строки по конкретным значениям полей, указывая одно или несколько значений, то спарк создаёт сначала джоб на 4 таска, потом джоб на 20 тасков, потом на 100, потом на 500, на 2500, 12500, 62500 и так далее, постоянно умножая предыдущее количество тасков на 5. Это реально отдельные джобы, объединенные в один SQL,это видно в spark UI. Мне бы просто просканить таблицу, без отдельного шедулинга порций тасков.
В конце запроса limit 10 или что-то типа того?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Он пытается сэкономить время, типа если там половина таких записей, то он из 1 таска их наберёт
Большая проблема возникает, когда этих записей нет вообще, тогда он вот эти стадии гоняет вместо того, чтобы просто сделать фуллскан
источник

ЕГ

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

ИК

Иван Калининский... in Moscow Spark
Евгений Глотов
В конце запроса limit 10 или что-то типа того?
Нет, лимита в явном виде нет, но есть show, где, как я подозреваю, limit встроен
источник

ИК

Иван Калининский... in Moscow Spark
Евгений Глотов
Если сказать ему выбрать все записи по условиям, то будет фуллскан. Можно их закэшить и сделать лимит, как-то так
Теперь понятно, спасибо!
источник

ЕГ

Евгений Глотов... in Moscow Spark
Иван Калининский
Нет, лимита в явном виде нет, но есть show, где, как я подозреваю, limit встроен
Да, лимит 20)
источник

N

Nikolay in Moscow Spark
Евгений Глотов
Он пытается сэкономить время, типа если там половина таких записей, то он из 1 таска их наберёт
Большая проблема возникает, когда этих записей нет вообще, тогда он вот эти стадии гоняет вместо того, чтобы просто сделать фуллскан
А как это реализовано ? Show ведь делает take(20). Это take делает head(20). Что в итого приводит к появлению GlobslLimit(20), который для каждой партиции делает take(20). В какой момент джобы новые появляются ?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Nikolay
А как это реализовано ? Show ведь делает take(20). Это take делает head(20). Что в итого приводит к появлению GlobslLimit(20), который для каждой партиции делает take(20). В какой момент джобы новые появляются ?
Я не наблюдал limit 20 по каждой партиции и сбора глобального limit 20, пока не поставил spark2.3 и не включил pyarrow
источник

ЕГ

Евгений Глотов... in Moscow Spark
По умолчанию он делает такой вот хитрый поиск 1->4->20->100->...
источник
2020 April 14

GP

Grigory Pomadchin in Moscow Spark
Тут недавно спрашивали про скала лав конфу, и да билеты кончились; но рибята из жетбрейнс подвезут третий трек:
было так много желающих, что решили добавить еще экстра трек: https://blog.jetbrains.com/scala/2020/04/12/harmony-scala-love-conference

а вообще будет еще и ссылка на стрим, так что тот кто не успел / не смог - найдет видосы на утубе (ссылки будут доступны позднее); ну и записи тоже будут доступны
источник
2020 April 20

PE

Petr Ermakov in Moscow Spark
Коллеги. [#pyspark] У кого-нибудь был опыт с pyspark.mllib.linalg.distributed.RowMatrix ?

Сейчас проблема - как ее сколлектить в нормальную структуру (спарсовую numpy матрицу например)
источник

PK

Pavel Klemenkov in Moscow Spark
Petr Ermakov
Коллеги. [#pyspark] У кого-нибудь был опыт с pyspark.mllib.linalg.distributed.RowMatrix ?

Сейчас проблема - как ее сколлектить в нормальную структуру (спарсовую numpy матрицу например)
Какая именно проблема?
источник

PE

Petr Ermakov in Moscow Spark
нет понимания как сколлектить в матрицу питона
если влоб коллект - то получается лист MatrixEntry
источник

PK

Pavel Klemenkov in Moscow Spark
Petr Ermakov
нет понимания как сколлектить в матрицу питона
если влоб коллект - то получается лист MatrixEntry
Все так, распределенные матрицы в спарке же блоками создаются, так что придётся ручками. К тому же, насколько я помню, даже локальные спарснутые матрицы в спарке конвертятся в numpy только через плотные. Но это надо проверять
источник

PE

Petr Ermakov in Moscow Spark
тогда у меня другой вариант (и тоже вопрос) :

как спарснутую матрицу предвратить в денс матрицу а потом в rdd из numpy array-ев
источник

PK

Pavel Klemenkov in Moscow Spark
Petr Ermakov
тогда у меня другой вариант (и тоже вопрос) :

как спарснутую матрицу предвратить в денс матрицу а потом в rdd из numpy array-ев
Тогда у меня встречный вопрос, если ты можешь себе позволить сколлектить на драйвер денснутую матрицу, нафига тебе вообще распределенная матрица?
источник

PE

Petr Ermakov in Moscow Spark
я не хочу ее копировать на драйвер ( так как rdd массивов)
источник

PE

Petr Ermakov in Moscow Spark
давай я опишу задачку. может все мои вопросы не совсем понятны без нее
источник