Рассмотрим этот sql запрос:
Select a.id, a.event_dt,
(max(case when as_of_dt = add_months(back_dt,-1) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-2) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-3) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-4) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-5) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-6) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-7) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-8) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-9) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-10) then acc_score end)+
max(case when as_of_dt = add_months(back_dt,-11) then acc_score end))/12 as adv
from Table a group by a.id, a.event_dt;
У меня есть 20 таких столбцов, которые нуждаются в агрегировании, например, как "adv", показанный выше.
Когда я запускаю свой код pyspark, я получаю множество ошибок, начиная от ошибки тайм-аута, сброса соединения peer et c.
Есть ли лучший способ l oop с помощью этого sql и генерировать отдельные агрегированные столбцы, а затем объединить все их в одну таблицу для дальнейшей обработки.