2025-12-20 20:56:33.858997 AdaptiveSparkPlan isFinalPlan=false +- TakeOrderedAndProject(limit=20, orderBy=[total_clicks#193L DESC NULLS LAST], output=[page#192,total_clicks#193L]) +- HashAggregate(keys=[curr#22], functions=[sum(n#38)], output=[page#192, total_clicks#193L]) +- Exchange hashpartitioning(curr#22, 200), ENSURE_REQUIREMENTS, [plan_id=1344] +- HashAggregate(keys=[curr#22], functions=[partial_sum(n#38)], output=[curr#22, sum#196L]) +- HashAggregate(keys=[prev#21, curr#22, type#23, n#38], functions=[], output=[curr#22, n#38]) +- Exchange hashpartitioning(prev#21, curr#22, type#23, n#38, 200), ENSURE_REQUIREMENTS, [plan_id=1340] +- HashAggregate(keys=[prev#21, curr#22, type#23, n#38], functions=[], output=[prev#21, curr#22, type#23, n#38]) +- Project [_c0#17 AS prev#21, _c1#18 AS curr#22, _c2#19 AS type#23, cast(_c3#20 as int) AS n#38] +- Filter ((((isnotnull(_c3#20) AND isnotnull(_c1#18)) AND isnotnull(cast(_c3#20 as int))) AND (cast(_c3#20 as int) >= 0)) AND (length(_c1#18) > 0)) +- FileScan csv [_c0#17,_c1#18,_c2#19,_c3#20] Batched: false, DataFilters: [isnotnull(_c3#20), isnotnull(_c1#18), isnotnull(cast(_c3#20 as int)), (cast(_c3#20 as int) >= 0)..., Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/home/sable/Documents/data engineering1/projet-final/data/clickst..., PartitionFilters: [], PushedFilters: [IsNotNull(_c3), IsNotNull(_c1)], ReadSchema: struct<_c0:string,_c1:string,_c2:string,_c3:string>