== 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/output/cache/parquet/uet/PATIENT_3332]
ReadSchema: struct<>
(2) ColumnarToRow [codegen id : 1]
Input: []
(3) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#85450L]
Results [1]: [count#85451L]
(4) Exchange
Input [1]: [count#85451L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=28272]
(5) ShuffleQueryStage
Output [1]: [count#85451L]
Arguments: 0
(6) HashAggregate [codegen id : 2]
Input [1]: [count#85451L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#85447L]
Results [1]: [count(1)#85447L AS count#85448L]
(7) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#85450L]
Results [1]: [count#85451L]
(8) Exchange
Input [1]: [count#85451L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=28260]
(9) HashAggregate
Input [1]: [count#85451L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#85447L]
Results [1]: [count(1)#85447L AS count#85448L]
(10) AdaptiveSparkPlan
Output [1]: [count#85448L]
Arguments: isFinalPlan=true