digraph G {
0 [id="node0" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster1 {
isCluster="true";
id="cluster1";
label="WholeStageCodegen (4)\n \nduration: 4 ms";
tooltip="WholeStageCodegen (4)";
2 [id="node2" labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 4 ms<br>number of output rows: 1" tooltip="HashAggregate(keys=[], functions=[count(1)])"];
}
3 [id="node3" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 37<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 37<br>local bytes read: 2.7 KiB<br>merged fetch fallback count: 0<br>local blocks read: 37<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>592.0 B (16.0 B, 16.0 B, 16.0 B (stage 278525.0: task 4270448))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>3 ms (0 ms, 0 ms, 0 ms (stage 278525.0: task 4270454))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote 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 total (min, med, max (stageId: taskId))<br>2.7 KiB (75.0 B, 75.0 B, 75.0 B (stage 278525.0: task 4270448))" tooltip="Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=13506478]"];
subgraph cluster4 {
isCluster="true";
id="cluster4";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n60 ms (0 ms, 0 ms, 12 ms (stage 278525.0: task 4270448))";
tooltip="WholeStageCodegen (3)";
5 [id="node5" labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>4 ms (0 ms, 0 ms, 2 ms (stage 278525.0: task 4270445))<br>number of output rows: 37" tooltip="HashAggregate(keys=[], functions=[partial_count(1)])"];
6 [id="node6" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project"];
7 [id="node7" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 1,326" tooltip="BroadcastHashJoin [product#13791972, plant#13791973], [product#13793102, plant#13793103], Inner, BuildLeft, false"];
}
8 [id="node8" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 4 ms<br>time to collect: 270 ms<br>number of output rows: 1,326<br>data size: 2.1 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, false], input[1, string, false]),false), [plan_id=13506439]"];
subgraph cluster9 {
isCluster="true";
id="cluster9";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n37 ms (0 ms, 0 ms, 5 ms (stage 278523.0: task 4270413))";
tooltip="WholeStageCodegen (2)";
10 [id="node10" labelType="html" label="<b>Filter</b><br><br>number of output rows: 1,326" tooltip="Filter (isnotnull(product#13791972) AND isnotnull(plant#13791973))"];
}
11 [id="node11" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 1,326" tooltip="InMemoryTableScan [product#13791972, plant#13791973], [isnotnull(product#13791972), isnotnull(plant#13791973)]"];
12 [id="node12" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster13 {
isCluster="true";
id="cluster13";
label="WholeStageCodegen (7)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (7)";
14 [id="node14" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[product#13791972, plant#13791973], functions=[])"];
15 [id="node15" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 0 ms<br>peak memory: 0.0 B<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[product#13791972, plant#13791973], functions=[])"];
16 [id="node16" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13791972, plant#13791973]"];
17 [id="node17" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter (((size(demandTimeBuckets#13792379, true) = 0) OR isnull(demandTimeBuckets#13792379)) AND ((size(demandPointInTime#13792382, true) = 0) OR isnull(demandPointInTime#13792382)))"];
18 [id="node18" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [coalesce(plant#13791973, ), isnull(plant#13791973), coalesce(product#13791972, ), isnull(product#13791972)], [coalesce(plant#13792375, ), isnull(plant#13792375), coalesce(product#13792374, ), isnull(product#13792374)], LeftOuter, BuildRight, false"];
19 [id="node19" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13791972, plant#13791973]"];
20 [id="node20" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(_extract_quantityDenominator#13792409), [product#13791972, plant#13791973], true, [quantityDenominator#13792058]"];
21 [id="node21" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047.quantityDenominator AS _extract_quantityDenominator#13792409]"];
22 [id="node22" labelType="html" label="<b>Generate</b><br><br>number of output rows: 0" tooltip="Generate explode(filteredUnitOfMeasureConversions#13792047.quantityNumerator), [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047], true, [quantityNumerator#13792055]"];
}
23 [id="node23" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13791972, plant#13791973, filter(unitOfMeasureConversions#13792041, lambdafunction((((lambda u#13792048.measurementUnit1.code = _extract_code#13792488) AND (lambda u#13792048.measurementUnit1.internalRefUUID = _extract_internalRefUUID#13792489)) AND ((lambda u#13792048.measurementUnit2.code = baseUnitOfMeasure#13792039.code) AND (lambda u#13792048.measurementUnit2.internalRefUUID = baseUnitOfMeasure#13792039.internalRefUUID))), lambda u#13792048, false)) AS filteredUnitOfMeasureConversions#13792047]"];
subgraph cluster24 {
isCluster="true";
id="cluster24";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
25 [id="node25" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [product#13791972], [internalUUID#13792035], LeftOuter, BuildRight, false"];
26 [id="node26" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489]"];
27 [id="node27" labelType="html" label="<b>BroadcastHashJoin</b><br><br>number of output rows: 0" tooltip="BroadcastHashJoin [coalesce(product#13791972, ), isnull(product#13791972), coalesce(plant#13791973, ), isnull(plant#13791973)], [coalesce(_extract_internalRefUUID#13792491, ), isnull(_extract_internalRefUUID#13792491), coalesce(_extract_internalRefUUID#13792490, ), isnull(_extract_internalRefUUID#13792490)], LeftOuter, BuildRight, false"];
}
28 [id="node28" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<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>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(product#13791972, plant#13791973, 37), REPARTITION_BY_NUM, [plan_id=13505762]"];
subgraph cluster29 {
isCluster="true";
id="cluster29";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
30 [id="node30" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 0<br>number of input batches: 0" tooltip="ColumnarToRow"];
}
31 [id="node31" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 0<br>scan time: 0 ms<br>metadata time: 0 ms<br>size of files read: 0.0 B<br>number of output rows: 0" tooltip="FileScan parquet [product#13791972,plant#13791973] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<product:string,plant:string>"];
32 [id="node32" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, string, true], ), isnull(input[3, string, true])),false), [plan_id=13505916]"];
subgraph cluster33 {
isCluster="true";
id="cluster33";
label="WholeStageCodegen (5)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (5)";
34 [id="node34" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [_extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]"];
}
35 [id="node35" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<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>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13505783]"];
subgraph cluster36 {
isCluster="true";
id="cluster36";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
37 [id="node37" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [plant#13792001.internalRefUUID AS _extract_internalRefUUID#13792490, product#13792002.internalRefUUID AS _extract_internalRefUUID#13792491, productionAspect#13792004.productMovementPlants.unitOfIssue.code AS _extract_code#13792488, productionAspect#13792004.productMovementPlants.unitOfIssue.internalRefUUID AS _extract_internalRefUUID#13792489]"];
38 [id="node38" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 0<br>number of input batches: 0" tooltip="ColumnarToRow"];
}
39 [id="node39" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 0<br>scan time: 0 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 0.0 B<br>number of output rows: 0<br>number of partitions read: 0" tooltip="FileScan parquet [plant#13792001,product#13792002,productionAspect#13792004,systemId#13791999] Batched: true, DataFilters: [], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<plant:struct<internalRefUUID:string>,product:struct<internalRefUUID:string>,productionAspe..."];
40 [id="node40" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true]),false), [plan_id=13505821]"];
41 [id="node41" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<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>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13505811]"];
subgraph cluster42 {
isCluster="true";
id="cluster42";
label="WholeStageCodegen (3)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (3)";
43 [id="node43" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]"];
44 [id="node44" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter isnotnull(internalUUID#13792035)"];
45 [id="node45" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 0<br>number of input batches: 0" tooltip="ColumnarToRow"];
}
46 [id="node46" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 0<br>scan time: 0 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 0 ms<br>size of files read: 0.0 B<br>number of output rows: 0<br>number of partitions read: 0" tooltip="FileScan parquet [internalUUID#13792035,baseUnitOfMeasure#13792039,unitOfMeasureConversions#13792041,systemId#13792034] Batched: true, DataFilters: [isnotnull(internalUUID#13792035)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(internalUUID)], ReadSchema: struct<internalUUID:string,baseUnitOfMeasure:struct<internalRefUUID:string,code:string>,unitOfMea..."];
47 [id="node47" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 0 ms<br>time to build: 0 ms<br>time to collect: 0 ms<br>number of output rows: 0<br>data size: 0.0 B" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true])),false), [plan_id=13505835]"];
subgraph cluster48 {
isCluster="true";
id="cluster48";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (4)";
49 [id="node49" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 0<br>number of input batches: 0" tooltip="ColumnarToRow"];
}
50 [id="node50" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 0<br>scan time: 0 ms<br>metadata time: 0 ms<br>size of files read: 0.0 B<br>number of output rows: 0" tooltip="FileScan parquet [product#13792374,plant#13792375,demandTimeBuckets#13792379,demandPointInTime#13792382] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanac..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<product:string,plant:string,demandTimeBuckets:array<struct<demandStartDateTime:timestamp,d..."];
51 [id="node51" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 1,426<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 1,426<br>local bytes read total (min, med, max (stageId: taskId))<br>61.2 KiB (1555.0 B, 1729.0 B, 1775.0 B (stage 278525.0: task 4270462))<br>merged fetch fallback count: 0<br>local blocks read: 37<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 122.5 KiB<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 1 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 278525.0: task 4270448))<br>remote bytes read: 0.0 B<br>number of partitions: 37<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 61.2 KiB" tooltip="Exchange RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13506350]"];
subgraph cluster52 {
isCluster="true";
id="cluster52";
label="WholeStageCodegen (1)\n \nduration: 133 ms";
tooltip="WholeStageCodegen (1)";
53 [id="node53" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [product#13793096.internalRefUUID AS product#13793102, plant#13793095.internalRefUUID AS plant#13793103]"];
54 [id="node54" labelType="html" label="<b>Filter</b><br><br>number of output rows: 1,426" tooltip="Filter (isnotnull(product#13793096.internalRefUUID) AND isnotnull(plant#13793095.internalRefUUID))"];
55 [id="node55" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 1,426<br>number of input batches: 1" tooltip="ColumnarToRow"];
}
56 [id="node56" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 128 ms<br>dynamic partition pruning time: 0 ms<br>metadata time: 118 ms<br>size of files read: 76.4 KiB<br>number of output rows: 1,426<br>number of partitions read: 1" tooltip="FileScan parquet [plant#13793095,product#13793096,systemId#13793093] Batched: true, DataFilters: [isnotnull(product#13793096.internalRefUUID), isnotnull(plant#13793095.internalRefUUID)], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20...., PartitionFilters: [], PushedFilters: [IsNotNull(product.internalRefUUID), IsNotNull(plant.internalRefUUID)], ReadSchema: struct<plant:struct<internalRefUUID:string>,product:struct<internalRefUUID:string>>"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
10->8;
11->10;
12->11;
14->12;
15->14;
16->15;
17->16;
18->17;
19->18;
20->19;
21->20;
22->21;
23->22;
25->23;
26->25;
27->26;
28->27;
30->28;
31->30;
32->27;
34->32;
35->34;
37->35;
38->37;
39->38;
40->25;
41->40;
43->41;
44->43;
45->44;
46->45;
47->18;
49->47;
50->49;
51->7;
53->51;
54->53;
55->54;
56->55;
}
== Physical Plan ==
AdaptiveSparkPlan (92)
+- == Final Plan ==
ResultQueryStage (81), Statistics(sizeInBytes=8.0 EiB)
+- * HashAggregate (80)
+- ShuffleQueryStage (79), Statistics(sizeInBytes=592.0 B, rowCount=37)
+- Exchange (78)
+- * HashAggregate (77)
+- * Project (76)
+- * BroadcastHashJoin Inner BuildLeft (75)
:- BroadcastQueryStage (68), Statistics(sizeInBytes=2.1 MiB, rowCount=1.33E+3)
: +- BroadcastExchange (67)
: +- * Filter (66)
: +- TableCacheQueryStage (65), Statistics(sizeInBytes=93.2 KiB, rowCount=1.33E+3)
: +- InMemoryTableScan (1)
: +- InMemoryRelation (2)
: +- AdaptiveSparkPlan (64)
+- == Final Plan ==
ResultQueryStage (40)
+- * HashAggregate (39)
+- * HashAggregate (38)
+- * Project (37)
+- * Filter (36)
+- * BroadcastHashJoin LeftOuter BuildRight (35)
:- * Project (30)
: +- * Generate (29)
: +- * Project (28)
: +- * Generate (27)
: +- Project (26)
: +- * BroadcastHashJoin LeftOuter BuildRight (25)
: :- * Project (16)
: : +- * BroadcastHashJoin LeftOuter BuildRight (15)
: : :- ShuffleQueryStage (6), Statistics(sizeInBytes=114.0 KiB, rowCount=1.33E+3)
: : : +- Exchange (5)
: : : +- * ColumnarToRow (4)
: : : +- Scan parquet (3)
: : +- BroadcastQueryStage (14), Statistics(sizeInBytes=2.1 MiB, rowCount=1.43E+3)
: : +- BroadcastExchange (13)
: : +- * Project (12)
: : +- ShuffleQueryStage (11), Statistics(sizeInBytes=199.2 KiB, rowCount=1.43E+3)
: : +- Exchange (10)
: : +- * Project (9)
: : +- * ColumnarToRow (8)
: : +- Scan parquet (7)
: +- BroadcastQueryStage (24), Statistics(sizeInBytes=2.0 MiB, rowCount=144)
: +- BroadcastExchange (23)
: +- ShuffleQueryStage (22), Statistics(sizeInBytes=87.5 KiB, rowCount=144)
: +- Exchange (21)
: +- * Project (20)
: +- * Filter (19)
: +- * ColumnarToRow (18)
: +- Scan parquet (17)
+- BroadcastQueryStage (34), Statistics(sizeInBytes=2.1 MiB, rowCount=1.33E+3)
+- BroadcastExchange (33)
+- * ColumnarToRow (32)
+- Scan parquet (31)
+- == Initial Plan ==
HashAggregate (63)
+- HashAggregate (62)
+- Project (61)
+- Filter (60)
+- BroadcastHashJoin LeftOuter BuildRight (59)
:- Project (57)
: +- Generate (56)
: +- Project (55)
: +- Generate (54)
: +- Project (53)
: +- BroadcastHashJoin LeftOuter BuildRight (52)
: :- Project (47)
: : +- BroadcastHashJoin LeftOuter BuildRight (46)
: : :- Exchange (41)
: : : +- Scan parquet (3)
: : +- BroadcastExchange (45)
: : +- Project (44)
: : +- Exchange (43)
: : +- Project (42)
: : +- Scan parquet (7)
: +- BroadcastExchange (51)
: +- Exchange (50)
: +- Project (49)
: +- Filter (48)
: +- Scan parquet (17)
+- BroadcastExchange (58)
+- Scan parquet (31)
+- ShuffleQueryStage (74), Statistics(sizeInBytes=122.5 KiB, rowCount=1.43E+3)
+- Exchange (73)
+- * Project (72)
+- * Filter (71)
+- * ColumnarToRow (70)
+- Scan parquet (69)
+- == Initial Plan ==
HashAggregate (91)
+- Exchange (90)
+- HashAggregate (89)
+- Project (88)
+- BroadcastHashJoin Inner BuildRight (87)
:- Filter (82)
: +- InMemoryTableScan (1)
: +- InMemoryRelation (2)
: +- AdaptiveSparkPlan (64)
+- == Final Plan ==
ResultQueryStage (40)
+- * HashAggregate (39)
+- * HashAggregate (38)
+- * Project (37)
+- * Filter (36)
+- * BroadcastHashJoin LeftOuter BuildRight (35)
:- * Project (30)
: +- * Generate (29)
: +- * Project (28)
: +- * Generate (27)
: +- Project (26)
: +- * BroadcastHashJoin LeftOuter BuildRight (25)
: :- * Project (16)
: : +- * BroadcastHashJoin LeftOuter BuildRight (15)
: : :- ShuffleQueryStage (6), Statistics(sizeInBytes=114.0 KiB, rowCount=1.33E+3)
: : : +- Exchange (5)
: : : +- * ColumnarToRow (4)
: : : +- Scan parquet (3)
: : +- BroadcastQueryStage (14), Statistics(sizeInBytes=2.1 MiB, rowCount=1.43E+3)
: : +- BroadcastExchange (13)
: : +- * Project (12)
: : +- ShuffleQueryStage (11), Statistics(sizeInBytes=199.2 KiB, rowCount=1.43E+3)
: : +- Exchange (10)
: : +- * Project (9)
: : +- * ColumnarToRow (8)
: : +- Scan parquet (7)
: +- BroadcastQueryStage (24), Statistics(sizeInBytes=2.0 MiB, rowCount=144)
: +- BroadcastExchange (23)
: +- ShuffleQueryStage (22), Statistics(sizeInBytes=87.5 KiB, rowCount=144)
: +- Exchange (21)
: +- * Project (20)
: +- * Filter (19)
: +- * ColumnarToRow (18)
: +- Scan parquet (17)
+- BroadcastQueryStage (34), Statistics(sizeInBytes=2.1 MiB, rowCount=1.33E+3)
+- BroadcastExchange (33)
+- * ColumnarToRow (32)
+- Scan parquet (31)
+- == Initial Plan ==
HashAggregate (63)
+- HashAggregate (62)
+- Project (61)
+- Filter (60)
+- BroadcastHashJoin LeftOuter BuildRight (59)
:- Project (57)
: +- Generate (56)
: +- Project (55)
: +- Generate (54)
: +- Project (53)
: +- BroadcastHashJoin LeftOuter BuildRight (52)
: :- Project (47)
: : +- BroadcastHashJoin LeftOuter BuildRight (46)
: : :- Exchange (41)
: : : +- Scan parquet (3)
: : +- BroadcastExchange (45)
: : +- Project (44)
: : +- Exchange (43)
: : +- Project (42)
: : +- Scan parquet (7)
: +- BroadcastExchange (51)
: +- Exchange (50)
: +- Project (49)
: +- Filter (48)
: +- Scan parquet (17)
+- BroadcastExchange (58)
+- Scan parquet (31)
+- BroadcastExchange (86)
+- Exchange (85)
+- Project (84)
+- Filter (83)
+- Scan parquet (69)
(1) InMemoryTableScan
Output [2]: [product#13791972, plant#13791973]
Arguments: [product#13791972, plant#13791973], [isnotnull(product#13791972), isnotnull(plant#13791973)]
(2) InMemoryRelation
Arguments: [product#13791972, plant#13791973], StorageLevel(disk, memory, 2 replicas)
(3) Scan parquet
Output [2]: [product#13791972, plant#13791973]
Batched: true
Location: InMemoryFileIndex [hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/product-plant-list/10000000539/shardId=0_1_10000000539]
ReadSchema: struct<product:string,plant:string>
(4) ColumnarToRow [codegen id : 1]
Input [2]: [product#13791972, plant#13791973]
(5) Exchange
Input [2]: [product#13791972, plant#13791973]
Arguments: hashpartitioning(product#13791972, plant#13791973, 37), REPARTITION_BY_NUM, [plan_id=13505762]
(6) ShuffleQueryStage
Output [2]: [product#13791972, plant#13791973]
Arguments: 0
(7) Scan parquet
Output [4]: [plant#13792001, product#13792002, productionAspect#13792004, systemId#13791999]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-dl-stream-service/cornerstone/sap-cic-product-productplant]
ReadSchema: struct<plant:struct<internalRefUUID:string>,product:struct<internalRefUUID:string>,productionAspect:struct<productMovementPlants:struct<unitOfIssue:struct<internalRefUUID:string,code:string>>>>
(8) ColumnarToRow [codegen id : 2]
Input [4]: [plant#13792001, product#13792002, productionAspect#13792004, systemId#13791999]
(9) Project [codegen id : 2]
Output [4]: [plant#13792001.internalRefUUID AS _extract_internalRefUUID#13792490, product#13792002.internalRefUUID AS _extract_internalRefUUID#13792491, productionAspect#13792004.productMovementPlants.unitOfIssue.code AS _extract_code#13792488, productionAspect#13792004.productMovementPlants.unitOfIssue.internalRefUUID AS _extract_internalRefUUID#13792489]
Input [4]: [plant#13792001, product#13792002, productionAspect#13792004, systemId#13791999]
(10) Exchange
Input [4]: [_extract_internalRefUUID#13792490, _extract_internalRefUUID#13792491, _extract_code#13792488, _extract_internalRefUUID#13792489]
Arguments: RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13505783]
(11) ShuffleQueryStage
Output [4]: [_extract_internalRefUUID#13792490, _extract_internalRefUUID#13792491, _extract_code#13792488, _extract_internalRefUUID#13792489]
Arguments: 1
(12) Project [codegen id : 5]
Output [4]: [_extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
Input [4]: [_extract_internalRefUUID#13792490, _extract_internalRefUUID#13792491, _extract_code#13792488, _extract_internalRefUUID#13792489]
(13) BroadcastExchange
Input [4]: [_extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, string, true], ), isnull(input[3, string, true])),false), [plan_id=13505916]
(14) BroadcastQueryStage
Output [4]: [_extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
Arguments: 4
(15) BroadcastHashJoin [codegen id : 6]
Left keys [4]: [coalesce(product#13791972, ), isnull(product#13791972), coalesce(plant#13791973, ), isnull(plant#13791973)]
Right keys [4]: [coalesce(_extract_internalRefUUID#13792491, ), isnull(_extract_internalRefUUID#13792491), coalesce(_extract_internalRefUUID#13792490, ), isnull(_extract_internalRefUUID#13792490)]
Join type: LeftOuter
Join condition: None
(16) Project [codegen id : 6]
Output [4]: [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489]
Input [6]: [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
(17) Scan parquet
Output [4]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041, systemId#13792034]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-dl-stream-service/cornerstone/sap-cic-product-product-v2]
PushedFilters: [IsNotNull(internalUUID)]
ReadSchema: struct<internalUUID:string,baseUnitOfMeasure:struct<internalRefUUID:string,code:string>,unitOfMeasureConversions:array<struct<measurementUnit1:struct<internalRefUUID:string,code:string>,measurementUnit2:struct<internalRefUUID:string,code:string>,quantityNumerator:int,quantityDenominator:int>>>
(18) ColumnarToRow [codegen id : 3]
Input [4]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041, systemId#13792034]
(19) Filter [codegen id : 3]
Input [4]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041, systemId#13792034]
Condition : isnotnull(internalUUID#13792035)
(20) Project [codegen id : 3]
Output [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Input [4]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041, systemId#13792034]
(21) Exchange
Input [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Arguments: RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13505811]
(22) ShuffleQueryStage
Output [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Arguments: 2
(23) BroadcastExchange
Input [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Arguments: HashedRelationBroadcastMode(List(input[0, string, true]),false), [plan_id=13505821]
(24) BroadcastQueryStage
Output [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Arguments: 5
(25) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [product#13791972]
Right keys [1]: [internalUUID#13792035]
Join type: LeftOuter
Join condition: None
(26) Project
Output [3]: [product#13791972, plant#13791973, filter(unitOfMeasureConversions#13792041, lambdafunction((((lambda u#13792048.measurementUnit1.code = _extract_code#13792488) AND (lambda u#13792048.measurementUnit1.internalRefUUID = _extract_internalRefUUID#13792489)) AND ((lambda u#13792048.measurementUnit2.code = baseUnitOfMeasure#13792039.code) AND (lambda u#13792048.measurementUnit2.internalRefUUID = baseUnitOfMeasure#13792039.internalRefUUID))), lambda u#13792048, false)) AS filteredUnitOfMeasureConversions#13792047]
Input [7]: [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489, internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
(27) Generate [codegen id : 7]
Input [3]: [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047]
Arguments: explode(filteredUnitOfMeasureConversions#13792047.quantityNumerator), [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047], true, [quantityNumerator#13792055]
(28) Project [codegen id : 7]
Output [3]: [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047.quantityDenominator AS _extract_quantityDenominator#13792409]
Input [4]: [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047, quantityNumerator#13792055]
(29) Generate [codegen id : 7]
Input [3]: [product#13791972, plant#13791973, _extract_quantityDenominator#13792409]
Arguments: explode(_extract_quantityDenominator#13792409), [product#13791972, plant#13791973], true, [quantityDenominator#13792058]
(30) Project [codegen id : 7]
Output [2]: [product#13791972, plant#13791973]
Input [3]: [product#13791972, plant#13791973, quantityDenominator#13792058]
(31) Scan parquet
Output [4]: [product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
Batched: true
Location: InMemoryFileIndex [hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-demand-service/out/demand/10000000539/0_1_10000000539]
ReadSchema: struct<product:string,plant:string,demandTimeBuckets:array<struct<demandStartDateTime:timestamp,demandQuantity:double,demandVariance:double>>,demandPointInTime:array<struct<demandDateTime:timestamp,demandQuantity:double,demandVariance:double>>>
(32) ColumnarToRow [codegen id : 4]
Input [4]: [product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
(33) BroadcastExchange
Input [4]: [product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true])),false), [plan_id=13505835]
(34) BroadcastQueryStage
Output [4]: [product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
Arguments: 3
(35) BroadcastHashJoin [codegen id : 7]
Left keys [4]: [coalesce(plant#13791973, ), isnull(plant#13791973), coalesce(product#13791972, ), isnull(product#13791972)]
Right keys [4]: [coalesce(plant#13792375, ), isnull(plant#13792375), coalesce(product#13792374, ), isnull(product#13792374)]
Join type: LeftOuter
Join condition: None
(36) Filter [codegen id : 7]
Input [6]: [product#13791972, plant#13791973, product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
Condition : (((size(demandTimeBuckets#13792379, true) = 0) OR isnull(demandTimeBuckets#13792379)) AND ((size(demandPointInTime#13792382, true) = 0) OR isnull(demandPointInTime#13792382)))
(37) Project [codegen id : 7]
Output [2]: [product#13791972, plant#13791973]
Input [6]: [product#13791972, plant#13791973, product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
(38) HashAggregate [codegen id : 7]
Input [2]: [product#13791972, plant#13791973]
Keys [2]: [product#13791972, plant#13791973]
Functions: []
Aggregate Attributes: []
Results [2]: [product#13791972, plant#13791973]
(39) HashAggregate [codegen id : 7]
Input [2]: [product#13791972, plant#13791973]
Keys [2]: [product#13791972, plant#13791973]
Functions: []
Aggregate Attributes: []
Results [2]: [product#13791972, plant#13791973]
(40) ResultQueryStage
Output [2]: [product#13791972, plant#13791973]
Arguments: 6
(41) Exchange
Input [2]: [product#13791972, plant#13791973]
Arguments: hashpartitioning(product#13791972, plant#13791973, 37), REPARTITION_BY_NUM, [plan_id=13505703]
(42) Project
Output [4]: [plant#13792001.internalRefUUID AS _extract_internalRefUUID#13792490, product#13792002.internalRefUUID AS _extract_internalRefUUID#13792491, productionAspect#13792004.productMovementPlants.unitOfIssue.code AS _extract_code#13792488, productionAspect#13792004.productMovementPlants.unitOfIssue.internalRefUUID AS _extract_internalRefUUID#13792489]
Input [4]: [plant#13792001, product#13792002, productionAspect#13792004, systemId#13791999]
(43) Exchange
Input [4]: [_extract_internalRefUUID#13792490, _extract_internalRefUUID#13792491, _extract_code#13792488, _extract_internalRefUUID#13792489]
Arguments: RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13505706]
(44) Project
Output [4]: [_extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
Input [4]: [_extract_internalRefUUID#13792490, _extract_internalRefUUID#13792491, _extract_code#13792488, _extract_internalRefUUID#13792489]
(45) BroadcastExchange
Input [4]: [_extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[2, string, true], ), isnull(input[2, string, true]), coalesce(input[3, string, true], ), isnull(input[3, string, true])),false), [plan_id=13505727]
(46) BroadcastHashJoin
Left keys [4]: [coalesce(product#13791972, ), isnull(product#13791972), coalesce(plant#13791973, ), isnull(plant#13791973)]
Right keys [4]: [coalesce(_extract_internalRefUUID#13792491, ), isnull(_extract_internalRefUUID#13792491), coalesce(_extract_internalRefUUID#13792490, ), isnull(_extract_internalRefUUID#13792490)]
Join type: LeftOuter
Join condition: None
(47) Project
Output [4]: [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489]
Input [6]: [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489, _extract_internalRefUUID#13792491, _extract_internalRefUUID#13792490]
(48) Filter
Input [4]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041, systemId#13792034]
Condition : isnotnull(internalUUID#13792035)
(49) Project
Output [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Input [4]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041, systemId#13792034]
(50) Exchange
Input [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Arguments: RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13505713]
(51) BroadcastExchange
Input [3]: [internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
Arguments: HashedRelationBroadcastMode(List(input[0, string, true]),false), [plan_id=13505731]
(52) BroadcastHashJoin
Left keys [1]: [product#13791972]
Right keys [1]: [internalUUID#13792035]
Join type: LeftOuter
Join condition: None
(53) Project
Output [3]: [product#13791972, plant#13791973, filter(unitOfMeasureConversions#13792041, lambdafunction((((lambda u#13792048.measurementUnit1.code = _extract_code#13792488) AND (lambda u#13792048.measurementUnit1.internalRefUUID = _extract_internalRefUUID#13792489)) AND ((lambda u#13792048.measurementUnit2.code = baseUnitOfMeasure#13792039.code) AND (lambda u#13792048.measurementUnit2.internalRefUUID = baseUnitOfMeasure#13792039.internalRefUUID))), lambda u#13792048, false)) AS filteredUnitOfMeasureConversions#13792047]
Input [7]: [product#13791972, plant#13791973, _extract_code#13792488, _extract_internalRefUUID#13792489, internalUUID#13792035, baseUnitOfMeasure#13792039, unitOfMeasureConversions#13792041]
(54) Generate
Input [3]: [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047]
Arguments: explode(filteredUnitOfMeasureConversions#13792047.quantityNumerator), [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047], true, [quantityNumerator#13792055]
(55) Project
Output [3]: [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047.quantityDenominator AS _extract_quantityDenominator#13792409]
Input [4]: [product#13791972, plant#13791973, filteredUnitOfMeasureConversions#13792047, quantityNumerator#13792055]
(56) Generate
Input [3]: [product#13791972, plant#13791973, _extract_quantityDenominator#13792409]
Arguments: explode(_extract_quantityDenominator#13792409), [product#13791972, plant#13791973], true, [quantityDenominator#13792058]
(57) Project
Output [2]: [product#13791972, plant#13791973]
Input [3]: [product#13791972, plant#13791973, quantityDenominator#13792058]
(58) BroadcastExchange
Input [4]: [product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, string, true], ), isnull(input[0, string, true])),false), [plan_id=13505739]
(59) BroadcastHashJoin
Left keys [4]: [coalesce(plant#13791973, ), isnull(plant#13791973), coalesce(product#13791972, ), isnull(product#13791972)]
Right keys [4]: [coalesce(plant#13792375, ), isnull(plant#13792375), coalesce(product#13792374, ), isnull(product#13792374)]
Join type: LeftOuter
Join condition: None
(60) Filter
Input [6]: [product#13791972, plant#13791973, product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
Condition : (((size(demandTimeBuckets#13792379, true) = 0) OR isnull(demandTimeBuckets#13792379)) AND ((size(demandPointInTime#13792382, true) = 0) OR isnull(demandPointInTime#13792382)))
(61) Project
Output [2]: [product#13791972, plant#13791973]
Input [6]: [product#13791972, plant#13791973, product#13792374, plant#13792375, demandTimeBuckets#13792379, demandPointInTime#13792382]
(62) HashAggregate
Input [2]: [product#13791972, plant#13791973]
Keys [2]: [product#13791972, plant#13791973]
Functions: []
Aggregate Attributes: []
Results [2]: [product#13791972, plant#13791973]
(63) HashAggregate
Input [2]: [product#13791972, plant#13791973]
Keys [2]: [product#13791972, plant#13791973]
Functions: []
Aggregate Attributes: []
Results [2]: [product#13791972, plant#13791973]
(64) AdaptiveSparkPlan
Output [2]: [product#13791972, plant#13791973]
Arguments: isFinalPlan=true
(65) TableCacheQueryStage
Output [2]: [product#13791972, plant#13791973]
Arguments: 0
(66) Filter [codegen id : 2]
Input [2]: [product#13791972, plant#13791973]
Condition : (isnotnull(product#13791972) AND isnotnull(plant#13791973))
(67) BroadcastExchange
Input [2]: [product#13791972, plant#13791973]
Arguments: HashedRelationBroadcastMode(List(input[0, string, false], input[1, string, false]),false), [plan_id=13506439]
(68) BroadcastQueryStage
Output [2]: [product#13791972, plant#13791973]
Arguments: 2
(69) Scan parquet
Output [3]: [plant#13793095, product#13793096, systemId#13793093]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://ced12e6d-bca7-47af-9525-449cba9023d7.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-dl-stream-service/cornerstone/sap-cic-product-productplant]
PushedFilters: [IsNotNull(product.internalRefUUID), IsNotNull(plant.internalRefUUID)]
ReadSchema: struct<plant:struct<internalRefUUID:string>,product:struct<internalRefUUID:string>>
(70) ColumnarToRow [codegen id : 1]
Input [3]: [plant#13793095, product#13793096, systemId#13793093]
(71) Filter [codegen id : 1]
Input [3]: [plant#13793095, product#13793096, systemId#13793093]
Condition : (isnotnull(product#13793096.internalRefUUID) AND isnotnull(plant#13793095.internalRefUUID))
(72) Project [codegen id : 1]
Output [2]: [product#13793096.internalRefUUID AS product#13793102, plant#13793095.internalRefUUID AS plant#13793103]
Input [3]: [plant#13793095, product#13793096, systemId#13793093]
(73) Exchange
Input [2]: [product#13793102, plant#13793103]
Arguments: RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13506350]
(74) ShuffleQueryStage
Output [2]: [product#13793102, plant#13793103]
Arguments: 1
(75) BroadcastHashJoin [codegen id : 3]
Left keys [2]: [product#13791972, plant#13791973]
Right keys [2]: [product#13793102, plant#13793103]
Join type: Inner
Join condition: None
(76) Project [codegen id : 3]
Output: []
Input [4]: [product#13791972, plant#13791973, product#13793102, plant#13793103]
(77) HashAggregate [codegen id : 3]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#13793325L]
Results [1]: [count#13793326L]
(78) Exchange
Input [1]: [count#13793326L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=13506478]
(79) ShuffleQueryStage
Output [1]: [count#13793326L]
Arguments: 3
(80) HashAggregate [codegen id : 4]
Input [1]: [count#13793326L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#13793172L]
Results [1]: [count(1)#13793172L AS count#13793169L]
(81) ResultQueryStage
Output [1]: [count#13793169L]
Arguments: 4
(82) Filter
Input [2]: [product#13791972, plant#13791973]
Condition : (isnotnull(product#13791972) AND isnotnull(plant#13791973))
(83) Filter
Input [3]: [plant#13793095, product#13793096, systemId#13793093]
Condition : (isnotnull(product#13793096.internalRefUUID) AND isnotnull(plant#13793095.internalRefUUID))
(84) Project
Output [2]: [product#13793096.internalRefUUID AS product#13793102, plant#13793095.internalRefUUID AS plant#13793103]
Input [3]: [plant#13793095, product#13793096, systemId#13793093]
(85) Exchange
Input [2]: [product#13793102, plant#13793103]
Arguments: RoundRobinPartitioning(37), REPARTITION_BY_NUM, [plan_id=13506310]
(86) BroadcastExchange
Input [2]: [product#13793102, plant#13793103]
Arguments: HashedRelationBroadcastMode(List(input[0, string, true], input[1, string, true]),false), [plan_id=13506316]
(87) BroadcastHashJoin
Left keys [2]: [product#13791972, plant#13791973]
Right keys [2]: [product#13793102, plant#13793103]
Join type: Inner
Join condition: None
(88) Project
Output: []
Input [4]: [product#13791972, plant#13791973, product#13793102, plant#13793103]
(89) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#13793325L]
Results [1]: [count#13793326L]
(90) Exchange
Input [1]: [count#13793326L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=13506321]
(91) HashAggregate
Input [1]: [count#13793326L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#13793172L]
Results [1]: [count(1)#13793172L AS count#13793169L]
(92) AdaptiveSparkPlan
Output [1]: [count#13793169L]
Arguments: isFinalPlan=true