digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
2 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 0 ms<br>number of output rows: 1"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 1<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 1<br>local bytes read: 59.0 B<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 1<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 16.0 B<br>local merged bytes read: 0.0 B<br>number of partitions: 1<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 59.0 B"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 49 ms";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 48 ms<br>number of output rows: 1"];
6 [labelType="html" label="<br><b>Project</b><br><br>"];
7 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 1"];
8 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 209<br>number of input batches: 1"];
}
9 [labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 3 ms<br>metadata time: 0 ms<br>size of files read: 10.7 KiB<br>number of output rows: 209"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
9->8;
}
10
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (2)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=622433]
HashAggregate(keys=[], functions=[partial_count(1)])
Project
Filter ((((CASE WHEN isnull(Contains(str_remove_accent(upper(CODE#948693)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(CODE#948693)), ACQN001) END OR CASE WHEN isnull(Contains(str_remove_accent(upper(LIBELLE#948694)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(LIBELLE#948694)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Code+REGROUPEMENT#948695)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Code+REGROUPEMENT#948695)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Responsable+MAJ#948698)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Responsable+MAJ#948698)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Source#948699)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Source#948699)), ACQN001) END)
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [CODE#948693,LIBELLE#948694,Code+REGROUPEMENT#948695,Responsable+MAJ#948698,Source#948699] Batched: true, DataFilters: [((((CASE WHEN isnull(Contains(str_remove_accent(upper(CODE#948693)), ACQN001)) THEN false ELSE C..., Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/excel/cache/SIC_SERVEUR_174043_011ecc05c30b12bd..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<CODE:string,LIBELLE:string,Code+REGROUPEMENT:string,Responsable+MAJ:string,Source:string>
== Physical Plan ==
AdaptiveSparkPlan (14)
+- == Final Plan ==
* HashAggregate (8)
+- ShuffleQueryStage (7), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (6)
+- * HashAggregate (5)
+- * Project (4)
+- * Filter (3)
+- * ColumnarToRow (2)
+- Scan parquet (1)
+- == Initial Plan ==
HashAggregate (13)
+- Exchange (12)
+- HashAggregate (11)
+- Project (10)
+- Filter (9)
+- Scan parquet (1)
(1) Scan parquet
Output [5]: [CODE#948693, LIBELLE#948694, Code+REGROUPEMENT#948695, Responsable+MAJ#948698, Source#948699]
Batched: true
Location: InMemoryFileIndex [file:/data/input/depot/excel/cache/SIC_SERVEUR_174043_011ecc05c30b12bd525f9ae06b0f0abc/SIC.xlsx_d7e53226963a5de42ec3c8bf43bde627]
ReadSchema: struct<CODE:string,LIBELLE:string,Code+REGROUPEMENT:string,Responsable+MAJ:string,Source:string>
(2) ColumnarToRow [codegen id : 1]
Input [5]: [CODE#948693, LIBELLE#948694, Code+REGROUPEMENT#948695, Responsable+MAJ#948698, Source#948699]
(3) Filter [codegen id : 1]
Input [5]: [CODE#948693, LIBELLE#948694, Code+REGROUPEMENT#948695, Responsable+MAJ#948698, Source#948699]
Condition : ((((CASE WHEN isnull(Contains(str_remove_accent(upper(CODE#948693)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(CODE#948693)), ACQN001) END OR CASE WHEN isnull(Contains(str_remove_accent(upper(LIBELLE#948694)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(LIBELLE#948694)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Code+REGROUPEMENT#948695)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Code+REGROUPEMENT#948695)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Responsable+MAJ#948698)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Responsable+MAJ#948698)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Source#948699)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Source#948699)), ACQN001) END)
(4) Project [codegen id : 1]
Output: []
Input [5]: [CODE#948693, LIBELLE#948694, Code+REGROUPEMENT#948695, Responsable+MAJ#948698, Source#948699]
(5) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#948900L]
Results [1]: [count#948901L]
(6) Exchange
Input [1]: [count#948901L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=622433]
(7) ShuffleQueryStage
Output [1]: [count#948901L]
Arguments: 0
(8) HashAggregate [codegen id : 2]
Input [1]: [count#948901L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#948897L]
Results [1]: [count(1)#948897L AS count#948898L]
(9) Filter
Input [5]: [CODE#948693, LIBELLE#948694, Code+REGROUPEMENT#948695, Responsable+MAJ#948698, Source#948699]
Condition : ((((CASE WHEN isnull(Contains(str_remove_accent(upper(CODE#948693)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(CODE#948693)), ACQN001) END OR CASE WHEN isnull(Contains(str_remove_accent(upper(LIBELLE#948694)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(LIBELLE#948694)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Code+REGROUPEMENT#948695)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Code+REGROUPEMENT#948695)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Responsable+MAJ#948698)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Responsable+MAJ#948698)), ACQN001) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(Source#948699)), ACQN001)) THEN false ELSE Contains(str_remove_accent(upper(Source#948699)), ACQN001) END)
(10) Project
Output: []
Input [5]: [CODE#948693, LIBELLE#948694, Code+REGROUPEMENT#948695, Responsable+MAJ#948698, Source#948699]
(11) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#948900L]
Results [1]: [count#948901L]
(12) Exchange
Input [1]: [count#948901L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=622413]
(13) HashAggregate
Input [1]: [count#948901L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#948897L]
Results [1]: [count(1)#948897L AS count#948898L]
(14) AdaptiveSparkPlan
Output [1]: [count#948898L]
Arguments: isFinalPlan=true