"max_by/min_by Узнала про прикольные функции, они заменяют оконку/CTE на одно поле Пример - вывести имя сотрудника с максимальным стажем по каждому департаменту ``` result = df.groupBy(""department"").agg( F.max_by(""name"", ""years"") ) ``` И все! Не надо никаких row_number = 1 В Spark SQL можно еще и фильтр набросить: ``` spark.sql("""""" select department, max_by(name, years) filter (where name is not null) from employees group by department """""") ``` А в Trino еще можно собрать массив топ-n в убывающем порядке: ``` select department, max_by(name, years) AS top_employee, max_by(name, years, 2) AS top_2_employees from employees group by department ``` Аналог в ClickHouse - argMax @data_engineerette"
"maxby/minby Узнала про прикольные функции, они заменяют оконку/CTE на одно…
Из этого канала
- #551"Влияние ИИ на маркетинг 🔝 Раньше бренды пытались быть в топе выдачи в…
"Влияние ИИ на маркетинг 🔝 Раньше бренды пытались быть в топе выдачи в поисковике, участвовали в аукционах, чтобы выбить себе первые места Когда я работала в…
- #554pre-commit Про эту штуку мне рассказал наш девопс. Короче, можно настроить у…
pre-commit Про эту штуку мне рассказал наш девопс. Короче, можно настроить у себя на ноуте, чтобы перед каждым коммитом прогонялись линтеры, форматтеры, другие…
- #555AI в OpenSource 🤓 У нас была проблема: аналитики переписывают свои скрипты с…
AI в OpenSource 🤓 У нас была проблема: аналитики переписывают свои скрипты с синтаксиса Trino на Spark, и в DDL они постоянно забывают поменять varchar на…
- #549Когда работаешь с айсбергом, но есть нюанс
Когда работаешь с айсбергом, но есть нюанс
- #548Худшие фейлы в DE Наткнулась на тред в реддите, где обсуждались фейлы на…
Худшие фейлы в DE Наткнулась на тред в реддите, где обсуждались фейлы на работе. Мне больше всего зашли 2 истории, они такие смешные и страшные одновременно🤯…