Size: a a a

2021 August 30

ЕГ

Евгений Глотов... in Moscow Spark
Вынеси отдельно вычисление максимума, получи его значение на локальной машине в переменную с помощью collect() и добавь в большой запрос с помощью lit(value)
источник

ЕГ

Евгений Глотов... in Moscow Spark
И групбай пустые скобки писать не нужно, просто df.agg(max(...))
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ещё можно извратиться и написать оконкой - withColumn("max", max("col1").over(Window.orderBy("col1"))
Но такая оконка будет в 1 поток выполняться, не параллельно, так как нет партишенбай
источник

ИК

Иван Калининский... in Moscow Spark
val dfMaxDate = a.agg(max("col1") as "max")
val dfWithMax = a.crossJoin(dfMaxDate)
источник

ИК

Иван Калининский... in Moscow Spark
это для scala, если пайтон, убрать val и переименовать переменные в одну букву))
источник

ЕГ

Евгений Глотов... in Moscow Spark
🤔 а я коллектом всегда доставал, а можно кроссджойн было сделать...
источник

ИК

Иван Калининский... in Moscow Spark
по большому счёту без разницы, всё заработает
источник

ИК

Иван Калининский... in Moscow Spark
Всё, что Евгений написал, правильно
источник

AK

Anton Kulaga in Moscow Spark
Разве после такого он не стащит весь датафрейм на одну ноду?
источник

ИК

Иван Калининский... in Moscow Spark
в этом же посте это и написано
источник

ЕГ

Евгений Глотов... in Moscow Spark
Так я и написал что в 1 поток будет исполнять)
источник

KR

Kagermanov Ramazan in Moscow Spark
Спасибо большое, попробовал оба варианта, работает👍Но с кросс джойном, полагаю, будет лучше работать
источник

ИК

Иван Калининский... in Moscow Spark
но для small data - норм
источник

AK

Anton Kulaga in Moscow Spark
В смысле не очевидно, что после такого withColumn датафрейм с одной партицией получится, так ещё и сортировка лишняя будет.
Вредный совет какой-то получается)
источник

ЕГ

Евгений Глотов... in Moscow Spark
Но если вам пипец надо сделать колонку, данных мало, а в наличии только возможность написать один запрос spark.sql, то это единственный вариант)
источник

ЕГ

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

SI

Sergey Ivanychev in Moscow Spark
Вопрос: есть датафрейм (который parquet-таблица) и новая схема — я хочу поменять схему датафрейма, мб добив null’ами колонки, которые добавились. Это как-то можно вменяемо сделать (пусть даже с полной перезаписью)?
источник

ЕГ

Евгений Глотов... in Moscow Spark
Сохранить в другое место, потом переименовать папки
источник

SI

Sergey Ivanychev in Moscow Spark
Какие папки? у меня непартицированная parquet-таблица
источник

ЕГ

Евгений Глотов... in Moscow Spark
Таблица - это папка
источник