У меня есть фрейм данных с миллионами записей и 8 столбцами. Я хочу сгруппировать его по столбцам col1 и col2 и выбрать, мне нужно name_id , max (SUM), col1, col2.
Теперь проблема в том, что я не использую name_id в группе по условию и не является агрегатной функцией.
Можете ли вы предложить какой-либо метод, который решает мою проблему в SQL или Pyspark.
Фрейм входных данных здесь SUM = количество столбцов с данными, а name_id уникально:
Обязательный вывод: name_id (как есть), max (SUM), Col1, Col2
Я пытался что-то вот так, но не работает:
Любые предложения приветствуются!
Я попробовал приведенный ниже код, который отлично работает с одним сценарием, а не с другими.
Рабочий сценарий, когда в столбце суммы есть повторяющиеся максимальные значения, тогда он работает нормально и перенастраивает максимальное имя_идентификатора, что является моим требованием
Когда столбцы SUM не имеют дубликатов максимального значения тогда это возвращает нуль, в таблице ниже согласно логу c мой вывод должен содержать name_id = 48981 и name_id = 52214, но я получаю единственный name_id = 52214.