Size: a a a

2022 January 16

v

v in Moscow Spark
Честно, мне просто привычнее делать навигацию когда мне говорят "можешь поправить код где добавляются такие-то id" и я делаю в IDE команду "перейти к функции add_ids"
источник

v

v in Moscow Spark
Блин, чувствую себя слепым. Надо быстренько потестить и если это то, что мне надо, заменить этим костыль с rank.
источник

ЕГ

Евгений Глотов... in Moscow Spark
Функция rank тоже существует и не эквивалентна row_number, так что во избежание недоразумений, и просто из соображений лени, рекомендую называть колонку rn)
источник

v

v in Moscow Spark
Ну если first() будет выбирать первую строчку из окна, то новая колонка и нужна не будет )
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ну он не строчку, только колонку
источник

ЕГ

Евгений Глотов... in Moscow Spark
Но можно несколько функций по одному окну сделать
источник

v

v in Moscow Spark
А, тогда не то
Условно говоря мне из
a, x, 1, 0
b, y, 2, 0
c, z, 2, 1
Нужно получить [c, z]
источник

v

v in Moscow Spark
хотя мб что-то вроде agg(first(abc).over(window), first(xyz).over(window))
Но там много колонок и мне сложно сказать, как будет лучше.
источник

v

v in Moscow Spark
https://issues.apache.org/jira/browse/SPARK-19428|
2017, closed, Resolution: Incomplete
Лол
источник

ЕГ

Евгений Глотов... in Moscow Spark
Агг это агрегат после группировки
источник

ЕГ

Евгений Глотов... in Moscow Spark
Оконка не работает в группировке
источник

SI

Sergey Ivanychev in Moscow Spark
Просто селект а не агг
источник

v

v in Moscow Spark
А, теперь понятно.
df = df.select([first(col(colname)).over(window) for colname in df.columns])
Это будет эффективнее, чем конструкция с df = df.withColumn('rn', row_number().over(window)).filter(col('rn') == 1).drop('rn')?
источник

ЕГ

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

v

v in Moscow Spark
Хотя блин, все равно какая-то фигня выходит. Видимо не понял принцип.
источник
2022 January 18

G

Gev in Moscow Spark
Народ. Приветствую всех.
Есть возможно простой но для меня не очевидный вопрос. Как организовать автотестирование приложения со spark процессами. Проблема мне видется в том, что при тестировании требуется доступ к данным для покрытия различных кейсов а если на этапе CI доступа к этим данным нет или их некуда разместить поскольку их много.
источник

ЕГ

Евгений Глотов... in Moscow Spark
Сэмплы кусочками паркета/csv+json_schema тащить в гит
источник

ИК

Иван Калининский... in Moscow Spark
Данные в csv для конкретных кейсов в юнит-тестах, генерация датафреймов с помощью scala.util.Random (сидированный) для аксептанс-тестов
источник

G

Gev in Moscow Spark
С unit тетами от части да - сделали json и прогоняем на них кейсы.
А вот с папом не понятно.
источник

G

Gev in Moscow Spark
Тут надо протестировать не только сам spark etl но и связанность нескольких etl
источник