Just to update the community that I have already developed a close workaround of this use case with the help of UDAF and UDF since the
sliding window is still not available.
Solution :-
1. UDAF : "LAST_N_HOURS" --> This UDAF simply maintains hourwise count/sum of instances inside a map where key is yyyymmddHH and value is respective count/sum. As and when an event occurs for a user we fetch a timestamp of the event and create this MAP along with maintaining only LAST N HOURS keys inside this MAP.
2. UDF : "MAPSUM" ---> This will be used in select statements of pull queries and will aggregate only those keys((yyyymmddHH) which satisfies current time - N hour.
Just note that this is a workaround and there are few cases where it might give an extra hour of data but that is fine in our case.