Size: a a a

2021 February 16

ПФ

Паша Финкельштейн... in Moscow Spark
Аааа
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Хм, а почему?
источник

ИК

Иван Калининский... in Moscow Spark
ну, так я уже пробовал
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но мы можем каскадные юнионы делать
источник

ПФ

Паша Финкельштейн... in Moscow Spark
типа делаем юнион на 10 файлов, потом на 10 десятков и так далее
источник

ИК

Иван Калининский... in Moscow Spark
можем, но ты подумай зачем, если можно список названий файлов кинуть в .load(paths: _*)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Так оно по условию задачи выжирает всю память
источник

ИК

Иван Калининский... in Moscow Spark
Gev
Народ. Подскажите. Как мне прочитать и сджойнить огромный набор непартийированных данных.  Шаффлинг зашкаливает. Пока приходит в голову только считать и пересохранить все это партицированно . Только боюсь что прочитать и сохранить не получится изза обьемов
Как и с чем джойнить?
источник

G

Gev in Moscow Spark
Ну есть другая маленькая. Ее надо джойнить с этим кошмаром
источник

ПФ

Паша Финкельштейн... in Moscow Spark
броадкаст?
источник

ИК

Иван Калининский... in Moscow Spark
надо на бродкаст выводить
источник

G

Gev in Moscow Spark
Иван Калининский
надо на бродкаст выводить
А он разве по умолчанию не правильный?
источник

ИК

Иван Калининский... in Moscow Spark
можно попробовать намекнуть bigDF.join(org.apache.spark.sql.functions.broadcast(smallDF), condition, type)
Или, если строка SQL, то хинтом - /*+ BROADCAST(small_table) */
источник

ИК

Иван Калининский... in Moscow Spark
и смотреть .explain(true), чтобы там был BroadcastHashJoin или BroadcastNestedLoopJoin (вроде так)
источник

ВК

Вячеслав Колосков... in Moscow Spark
tenKe
а в конфиге spark-defaults.conf или через spark-submit --driver-memory 5g
спасибо, отработало.
а какие еще настройки надо указывать через спарк сабмит, а не через код?
источник

ИК

Иван Калининский... in Moscow Spark
а файлы пачками читать только через .load(paths: _*), можно наделать кучу слайсов по любым параметрам. И самое интересное - при вызове .load(…) спарк строит InMemoryFileIndex распределенно на экзекуторах , то есть, намного быстрее, чем на драйвере обращаться к неймноде
источник

ИК

Иван Калининский... in Moscow Spark
в цикле по каждому файлу ходить тоже нельзя - оверхед слишком высокий
источник

t

tenKe in Moscow Spark
Вячеслав Колосков
спасибо, отработало.
а какие еще настройки надо указывать через спарк сабмит, а не через код?
В основном те, которые влияют на конфиг драйвера - мастер, режим запуска, память, коры, java opts, переменные окружения, classpath, керберос и т п. Просто помни, что вот этот твой SparkSession.builder() работает внутри драйвера - то есть драйвер УЖЕ запущен и работает где-то (ярн, локал и т п)
источник

t

tenKe in Moscow Spark
Большинство параметров, касающихся воркеров, можно настроить в момент SparkSession.builder()
источник

M

Mi in Moscow Spark
При записи одного файла есть вообще какая-то разница между coalesce и repartition?
источник