== Physical Plan ==
AdaptiveSparkPlan (10)
+- == Final Plan ==
* HashAggregate (6)
+- ShuffleQueryStage (5), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (4)
+- * HashAggregate (3)
+- * ColumnarToRow (2)
+- Scan parquet (1)
+- == Initial Plan ==
HashAggregate (9)
+- Exchange (8)
+- HashAggregate (7)
+- Scan parquet (1)
(1) Scan parquet
Output: []
Batched: true
Location: InMemoryFileIndex [file:/data/input/depot/csv/execution/AADAADF1_B478_478F_9645_5A73A40BB11C/extraction/date_7e01c35bd6ae7b086a35c5f0ad43a8d7=2026-09-04 09%3A02%3A40.044832/part-00000-4f316c08-454f-4e93-a7bd-b31f9eb69a62.c000.snappy.parquet]
ReadSchema: struct<>
(2) ColumnarToRow [codegen id : 1]
Input: []
(3) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#30410L]
Results [1]: [count#30411L]
(4) Exchange
Input [1]: [count#30411L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=6571]
(5) ShuffleQueryStage
Output [1]: [count#30411L]
Arguments: 0
(6) HashAggregate [codegen id : 2]
Input [1]: [count#30411L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#30407L]
Results [1]: [count(1)#30407L AS count#30408L]
(7) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#30410L]
Results [1]: [count#30411L]
(8) Exchange
Input [1]: [count#30411L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=6559]
(9) HashAggregate
Input [1]: [count#30411L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#30407L]
Results [1]: [count(1)#30407L AS count#30408L]
(10) AdaptiveSparkPlan
Output [1]: [count#30408L]
Arguments: isFinalPlan=true