digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n0 ms (0 ms, 0 ms, 0 ms (stage 191.0: task 1028))";
2 [labelType="html" label="<br><b>Project</b><br><br>"];
}
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: 76.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: 32.0 B<br>local merged bytes read: 0.0 B<br>number of partitions: 25<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 76.0 B"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 1.7 s";
5 [labelType="html" label="<br><b>Project</b><br><br>"];
6 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 1"];
7 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 11<br>number of input batches: 1"];
}
8 [labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 1.7 s<br>metadata time: 0 ms<br>size of files read: 22.4 KiB<br>number of output rows: 11"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
}
9
AdaptiveSparkPlan isFinalPlan=true
Project [minOrderQtySetting#16775, _extract_externalOrder#16818 AS externalOrder#16810, CASE WHEN isnull(_extract_negligibleQuantitiesThresholdPercent#16819) THEN 0.0 ELSE CASE WHEN (_extract_negligibleQuantitiesThresholdPercent#16819 > 100.00001) THEN 0.0 ELSE least(greatest((_extract_negligibleQuantitiesThresholdPercent#16819 / 100.0), 0.0), 1.0) END END AS negligibleQuantitiesThreshold#16682]
WholeStageCodegen (2)
Exchange RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=4597]
Project [minOrderQtySetting#16775, preferredUomSource#16784.distributionCenter.externalOrder AS _extract_externalOrder#16818, negligibleQuantitiesThreshold#16786.distributionCenter.negligibleQuantitiesThresholdPercent AS _extract_negligibleQuantitiesThresholdPercent#16819]
Filter (marketUnit#16767 <=> Daily_grocery)
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [marketUnit#16767,minOrderQtySetting#16775,preferredUomSource#16784,negligibleQuantitiesThreshold#16786] Batched: true, DataFilters: [(marketUnit#16767 <=> Daily_grocery)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [EqualNullSafe(marketUnit,Daily_grocery)], ReadSchema: struct<marketUnit:string,minOrderQtySetting:int,preferredUomSource:struct<distributionCenter:stru...
== Physical Plan ==
AdaptiveSparkPlan (12)
+- == Final Plan ==
* Project (7)
+- ShuffleQueryStage (6), Statistics(sizeInBytes=32.0 B, rowCount=1)
+- Exchange (5)
+- * Project (4)
+- * Filter (3)
+- * ColumnarToRow (2)
+- Scan parquet (1)
+- == Initial Plan ==
Project (11)
+- Exchange (10)
+- Project (9)
+- Filter (8)
+- Scan parquet (1)
(1) Scan parquet
Output [4]: [marketUnit#16767, minOrderQtySetting#16775, preferredUomSource#16784, negligibleQuantitiesThreshold#16786]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-dl-stream-service/prp/market-unit]
PushedFilters: [EqualNullSafe(marketUnit,Daily_grocery)]
ReadSchema: struct<marketUnit:string,minOrderQtySetting:int,preferredUomSource:struct<distributionCenter:struct<externalOrder:int>>,negligibleQuantitiesThreshold:struct<distributionCenter:struct<negligibleQuantitiesThresholdPercent:double>>>
(2) ColumnarToRow [codegen id : 1]
Input [4]: [marketUnit#16767, minOrderQtySetting#16775, preferredUomSource#16784, negligibleQuantitiesThreshold#16786]
(3) Filter [codegen id : 1]
Input [4]: [marketUnit#16767, minOrderQtySetting#16775, preferredUomSource#16784, negligibleQuantitiesThreshold#16786]
Condition : (marketUnit#16767 <=> Daily_grocery)
(4) Project [codegen id : 1]
Output [3]: [minOrderQtySetting#16775, preferredUomSource#16784.distributionCenter.externalOrder AS _extract_externalOrder#16818, negligibleQuantitiesThreshold#16786.distributionCenter.negligibleQuantitiesThresholdPercent AS _extract_negligibleQuantitiesThresholdPercent#16819]
Input [4]: [marketUnit#16767, minOrderQtySetting#16775, preferredUomSource#16784, negligibleQuantitiesThreshold#16786]
(5) Exchange
Input [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818, _extract_negligibleQuantitiesThresholdPercent#16819]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=4597]
(6) ShuffleQueryStage
Output [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818, _extract_negligibleQuantitiesThresholdPercent#16819]
Arguments: 0
(7) Project [codegen id : 2]
Output [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818 AS externalOrder#16810, CASE WHEN isnull(_extract_negligibleQuantitiesThresholdPercent#16819) THEN 0.0 ELSE CASE WHEN (_extract_negligibleQuantitiesThresholdPercent#16819 > 100.00001) THEN 0.0 ELSE least(greatest((_extract_negligibleQuantitiesThresholdPercent#16819 / 100.0), 0.0), 1.0) END END AS negligibleQuantitiesThreshold#16682]
Input [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818, _extract_negligibleQuantitiesThresholdPercent#16819]
(8) Filter
Input [4]: [marketUnit#16767, minOrderQtySetting#16775, preferredUomSource#16784, negligibleQuantitiesThreshold#16786]
Condition : (marketUnit#16767 <=> Daily_grocery)
(9) Project
Output [3]: [minOrderQtySetting#16775, preferredUomSource#16784.distributionCenter.externalOrder AS _extract_externalOrder#16818, negligibleQuantitiesThreshold#16786.distributionCenter.negligibleQuantitiesThresholdPercent AS _extract_negligibleQuantitiesThresholdPercent#16819]
Input [4]: [marketUnit#16767, minOrderQtySetting#16775, preferredUomSource#16784, negligibleQuantitiesThreshold#16786]
(10) Exchange
Input [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818, _extract_negligibleQuantitiesThresholdPercent#16819]
Arguments: RoundRobinPartitioning(25), REPARTITION_BY_NUM, [plan_id=4579]
(11) Project
Output [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818 AS externalOrder#16810, CASE WHEN isnull(_extract_negligibleQuantitiesThresholdPercent#16819) THEN 0.0 ELSE CASE WHEN (_extract_negligibleQuantitiesThresholdPercent#16819 > 100.00001) THEN 0.0 ELSE least(greatest((_extract_negligibleQuantitiesThresholdPercent#16819 / 100.0), 0.0), 1.0) END END AS negligibleQuantitiesThreshold#16682]
Input [3]: [minOrderQtySetting#16775, _extract_externalOrder#16818, _extract_negligibleQuantitiesThresholdPercent#16819]
(12) AdaptiveSparkPlan
Output [3]: [minOrderQtySetting#16775, externalOrder#16810, negligibleQuantitiesThreshold#16682]
Arguments: isFinalPlan=true