digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
1 [labelType="html" label="<br><b>DeserializeToObject</b><br><br>"];
subgraph cluster2 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 30 ms";
3 [labelType="html" label="<br><b>Project</b><br><br>"];
}
4 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 6<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 37586.0: task 71964))<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: 6<br>local bytes read: 447.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 total (min, med, max (stageId: taskId))<br>1648.0 B (0.0 B, 1648.0 B, 1648.0 B (stage 37586.0: task 71964))<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 total (min, med, max (stageId: taskId))<br>447.0 B (0.0 B, 447.0 B, 447.0 B (stage 37586.0: task 71964))"];
subgraph cluster5 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n0 ms (0 ms, 0 ms, 0 ms (stage 37586.0: task 71964))";
6 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 6"];
7 [labelType="html" label="<b>Scan JDBCRelation((<br> SELECT DISTINCT<br> pfd.networkId AS NetworkID, pfd.is_latest,<br> pfd.brand_context_id, pfd.company_id, pfd.launch_config_ref, pfd.revision_version,<br> CAST(COALESCE(m.facility_declaration_ref, pfd.derived_facility_dec_ref,<br> pfd.facility_default_ref) AS varchar(100)) <br> AS facility_declaration_ref,<br> pfd.Value_process, SUBSTRING(m.Materials, 0, 800) AS Materials,<br> n._id AS Child_Node<br> FROM dbo.dimscm_product_field_details_response pfd<br> INNER JOIN dbo.dimscm_product_node_response n<br> ON n.networkId = pfd.networkId<br> AND n.reference_code = pfd.product_node_response_ref<br> LEFT JOIN dbo.dim_compute_scm_product_field_details_response_materials m<br> ON m.networkId = pfd.networkId<br> AND (m.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))<br> AND m.product_node_response_ref = CAST(pfd.product_node_response_ref AS varchar(200))<br> AND m.facility_declaration_ref = CAST(COALESCE(pfd.derived_facility_dec_ref, pfd.facility_default_ref) AS varchar(200))<br> AND m.Value_process = pfd.Value_process<br> WHERE (pfd.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))<br> AND (n.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))<br> ) AS _t) [numPartitions=1] </b><br><br>number of output rows: 6"];
}
1->0;
3->1;
4->3;
6->4;
7->6;
}
8
AdaptiveSparkPlan isFinalPlan=true
DeserializeToObject createexternalrow(NetworkID#15232553.toString, brand_context_id#15232555.toString, company_id#15232556.toString, launch_config_ref#15232557.toString, staticinvoke(class java.lang.Short, ObjectType(class java.lang.Short), valueOf, revision_version#15232558, true, false, true), Child_Node#15232562.toString, staticinvoke(class java.lang.Boolean, ObjectType(class java.lang.Boolean), valueOf, is_latest#15232554, true, false, true), staticinvoke(class java.lang.Boolean, ObjectType(class java.lang.Boolean), valueOf, is_latest_submitted#15233917, true, false, true), facility_declaration_RefID#15234059.toString, Value_process#15234060.toString, Material#15234061.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, update_ts#15234063, true, false, true), StructField(NetworkID,StringType,true), StructField(brand_context_id,StringType,true), StructField(company_id,StringType,true), StructField(launch_config_ref,StringType,true), StructField(revision_version,ShortType,true), StructField(Child_Node,StringType,true), StructField(is_latest,BooleanType,true), StructField(is_latest_submitted,BooleanType,false), StructField(facility_declaration_RefID,StringType,true), StructField(Value_process,StringType,true), StructField(Material,StringType,true), StructField(update_ts,TimestampType,false)), obj#15263004: org.apache.spark.sql.Row
Project [NetworkID#15232553, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, Child_Node#15232562, is_latest#15232554, false AS is_latest_submitted#15233917, trim(facility_declaration_ref#15232559, None) AS facility_declaration_RefID#15234059, trim(Value_process#15232560, None) AS Value_process#15234060, CASE WHEN (isnull(trim(Materials#15232561, None)) OR (trim(Materials#15232561, None) = )) THEN null ELSE trim(Materials#15232561, None) END AS Material#15234061, 2026-10-19 07:30:06.14862 AS update_ts#15234063]
WholeStageCodegen (2)
Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=4310714]
Filter isnotnull(facility_declaration_ref#15232559)
Scan JDBCRelation((
SELECT DISTINCT
pfd.networkId AS NetworkID, pfd.is_latest,
pfd.brand_context_id, pfd.company_id, pfd.launch_config_ref, pfd.revision_version,
CAST(COALESCE(m.facility_declaration_ref, pfd.derived_facility_dec_ref,
pfd.facility_default_ref) AS varchar(100))
AS facility_declaration_ref,
pfd.Value_process, SUBSTRING(m.Materials, 0, 800) AS Materials,
n._id AS Child_Node
FROM dbo.dimscm_product_field_details_response pfd
INNER JOIN dbo.dimscm_product_node_response n
ON n.networkId = pfd.networkId
AND n.reference_code = pfd.product_node_response_ref
LEFT JOIN dbo.dim_compute_scm_product_field_details_response_materials m
ON m.networkId = pfd.networkId
AND (m.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND m.product_node_response_ref = CAST(pfd.product_node_response_ref AS varchar(200))
AND m.facility_declaration_ref = CAST(COALESCE(pfd.derived_facility_dec_ref, pfd.facility_default_ref) AS varchar(200))
AND m.Value_process = pfd.Value_process
WHERE (pfd.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND (n.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
) AS _t) [numPartitions=1] [NetworkID#15232553,is_latest#15232554,brand_context_id#15232555,company_id#15232556,launch_config_ref#15232557,revision_version#15232558,facility_declaration_ref#15232559,Value_process#15232560,Materials#15232561,Child_Node#15232562] PushedFilters: [IsNotNull(facility_declaration_ref)], ReadSchema: struct<NetworkID:string,is_latest:boolean,brand_context_id:string,company_id:string,launch_config...
WholeStageCodegen (1)
== Physical Plan ==
AdaptiveSparkPlan (10)
+- == Final Plan ==
DeserializeToObject (6)
+- * Project (5)
+- ShuffleQueryStage (4), Statistics(sizeInBytes=1648.0 B, rowCount=6)
+- Exchange (3)
+- * Filter (2)
+- * Scan JDBCRelation((
SELECT DISTINCT
pfd.networkId AS NetworkID, pfd.is_latest,
pfd.brand_context_id, pfd.company_id, pfd.launch_config_ref, pfd.revision_version,
CAST(COALESCE(m.facility_declaration_ref, pfd.derived_facility_dec_ref,
pfd.facility_default_ref) AS varchar(100))
AS facility_declaration_ref,
pfd.Value_process, SUBSTRING(m.Materials, 0, 800) AS Materials,
n._id AS Child_Node
FROM dbo.dimscm_product_field_details_response pfd
INNER JOIN dbo.dimscm_product_node_response n
ON n.networkId = pfd.networkId
AND n.reference_code = pfd.product_node_response_ref
LEFT JOIN dbo.dim_compute_scm_product_field_details_response_materials m
ON m.networkId = pfd.networkId
AND (m.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND m.product_node_response_ref = CAST(pfd.product_node_response_ref AS varchar(200))
AND m.facility_declaration_ref = CAST(COALESCE(pfd.derived_facility_dec_ref, pfd.facility_default_ref) AS varchar(200))
AND m.Value_process = pfd.Value_process
WHERE (pfd.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND (n.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
) AS _t) [numPartitions=1] (1)
+- == Initial Plan ==
DeserializeToObject (9)
+- Project (8)
+- Exchange (7)
+- Filter (2)
+- Scan JDBCRelation((
SELECT DISTINCT
pfd.networkId AS NetworkID, pfd.is_latest,
pfd.brand_context_id, pfd.company_id, pfd.launch_config_ref, pfd.revision_version,
CAST(COALESCE(m.facility_declaration_ref, pfd.derived_facility_dec_ref,
pfd.facility_default_ref) AS varchar(100))
AS facility_declaration_ref,
pfd.Value_process, SUBSTRING(m.Materials, 0, 800) AS Materials,
n._id AS Child_Node
FROM dbo.dimscm_product_field_details_response pfd
INNER JOIN dbo.dimscm_product_node_response n
ON n.networkId = pfd.networkId
AND n.reference_code = pfd.product_node_response_ref
LEFT JOIN dbo.dim_compute_scm_product_field_details_response_materials m
ON m.networkId = pfd.networkId
AND (m.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND m.product_node_response_ref = CAST(pfd.product_node_response_ref AS varchar(200))
AND m.facility_declaration_ref = CAST(COALESCE(pfd.derived_facility_dec_ref, pfd.facility_default_ref) AS varchar(200))
AND m.Value_process = pfd.Value_process
WHERE (pfd.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND (n.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
) AS _t) [numPartitions=1] (1)
(1) Scan JDBCRelation((
SELECT DISTINCT
pfd.networkId AS NetworkID, pfd.is_latest,
pfd.brand_context_id, pfd.company_id, pfd.launch_config_ref, pfd.revision_version,
CAST(COALESCE(m.facility_declaration_ref, pfd.derived_facility_dec_ref,
pfd.facility_default_ref) AS varchar(100))
AS facility_declaration_ref,
pfd.Value_process, SUBSTRING(m.Materials, 0, 800) AS Materials,
n._id AS Child_Node
FROM dbo.dimscm_product_field_details_response pfd
INNER JOIN dbo.dimscm_product_node_response n
ON n.networkId = pfd.networkId
AND n.reference_code = pfd.product_node_response_ref
LEFT JOIN dbo.dim_compute_scm_product_field_details_response_materials m
ON m.networkId = pfd.networkId
AND (m.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND m.product_node_response_ref = CAST(pfd.product_node_response_ref AS varchar(200))
AND m.facility_declaration_ref = CAST(COALESCE(pfd.derived_facility_dec_ref, pfd.facility_default_ref) AS varchar(200))
AND m.Value_process = pfd.Value_process
WHERE (pfd.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
AND (n.networkId IN ('E17E8EDD44117BF6122C987DD59B370A48E9744D10C1A189E45F63BDB3568406'))
) AS _t) [numPartitions=1] [codegen id : 1]
Output [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
PushedFilters: [IsNotNull(facility_declaration_ref)]
ReadSchema: struct<NetworkID:string,is_latest:boolean,brand_context_id:string,company_id:string,launch_config_ref:string,revision_version:smallint,facility_declaration_ref:string,Value_process:string,Materials:string,Child_Node:string>
(2) Filter [codegen id : 1]
Input [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
Condition : isnotnull(facility_declaration_ref#15232559)
(3) Exchange
Input [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=4310714]
(4) ShuffleQueryStage
Output [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
Arguments: 0
(5) Project [codegen id : 2]
Output [12]: [NetworkID#15232553, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, Child_Node#15232562, is_latest#15232554, false AS is_latest_submitted#15233917, trim(facility_declaration_ref#15232559, None) AS facility_declaration_RefID#15234059, trim(Value_process#15232560, None) AS Value_process#15234060, CASE WHEN (isnull(trim(Materials#15232561, None)) OR (trim(Materials#15232561, None) = )) THEN null ELSE trim(Materials#15232561, None) END AS Material#15234061, 2026-10-19 07:30:06.14862 AS update_ts#15234063]
Input [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
(6) DeserializeToObject
Input [12]: [NetworkID#15232553, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, Child_Node#15232562, is_latest#15232554, is_latest_submitted#15233917, facility_declaration_RefID#15234059, Value_process#15234060, Material#15234061, update_ts#15234063]
Arguments: createexternalrow(NetworkID#15232553.toString, brand_context_id#15232555.toString, company_id#15232556.toString, launch_config_ref#15232557.toString, staticinvoke(class java.lang.Short, ObjectType(class java.lang.Short), valueOf, revision_version#15232558, true, false, true), Child_Node#15232562.toString, staticinvoke(class java.lang.Boolean, ObjectType(class java.lang.Boolean), valueOf, is_latest#15232554, true, false, true), staticinvoke(class java.lang.Boolean, ObjectType(class java.lang.Boolean), valueOf, is_latest_submitted#15233917, true, false, true), facility_declaration_RefID#15234059.toString, Value_process#15234060.toString, Material#15234061.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, update_ts#15234063, true, false, true), StructField(NetworkID,StringType,true), StructField(brand_context_id,StringType,true), StructField(company_id,StringType,true), StructField(launch_config_ref,StringType,true), StructField(revision_version,ShortType,true), StructField(Child_Node,StringType,true), StructField(is_latest,BooleanType,true), StructField(is_latest_submitted,BooleanType,false), StructField(facility_declaration_RefID,StringType,true), StructField(Value_process,StringType,true), StructField(Material,StringType,true), StructField(update_ts,TimestampType,false)), obj#15263004: org.apache.spark.sql.Row
(7) Exchange
Input [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=4310705]
(8) Project
Output [12]: [NetworkID#15232553, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, Child_Node#15232562, is_latest#15232554, false AS is_latest_submitted#15233917, trim(facility_declaration_ref#15232559, None) AS facility_declaration_RefID#15234059, trim(Value_process#15232560, None) AS Value_process#15234060, CASE WHEN (isnull(trim(Materials#15232561, None)) OR (trim(Materials#15232561, None) = )) THEN null ELSE trim(Materials#15232561, None) END AS Material#15234061, 2026-10-19 07:30:06.14862 AS update_ts#15234063]
Input [10]: [NetworkID#15232553, is_latest#15232554, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, facility_declaration_ref#15232559, Value_process#15232560, Materials#15232561, Child_Node#15232562]
(9) DeserializeToObject
Input [12]: [NetworkID#15232553, brand_context_id#15232555, company_id#15232556, launch_config_ref#15232557, revision_version#15232558, Child_Node#15232562, is_latest#15232554, is_latest_submitted#15233917, facility_declaration_RefID#15234059, Value_process#15234060, Material#15234061, update_ts#15234063]
Arguments: createexternalrow(NetworkID#15232553.toString, brand_context_id#15232555.toString, company_id#15232556.toString, launch_config_ref#15232557.toString, staticinvoke(class java.lang.Short, ObjectType(class java.lang.Short), valueOf, revision_version#15232558, true, false, true), Child_Node#15232562.toString, staticinvoke(class java.lang.Boolean, ObjectType(class java.lang.Boolean), valueOf, is_latest#15232554, true, false, true), staticinvoke(class java.lang.Boolean, ObjectType(class java.lang.Boolean), valueOf, is_latest_submitted#15233917, true, false, true), facility_declaration_RefID#15234059.toString, Value_process#15234060.toString, Material#15234061.toString, staticinvoke(class org.apache.spark.sql.catalyst.util.DateTimeUtils$, ObjectType(class java.sql.Timestamp), toJavaTimestamp, update_ts#15234063, true, false, true), StructField(NetworkID,StringType,true), StructField(brand_context_id,StringType,true), StructField(company_id,StringType,true), StructField(launch_config_ref,StringType,true), StructField(revision_version,ShortType,true), StructField(Child_Node,StringType,true), StructField(is_latest,BooleanType,true), StructField(is_latest_submitted,BooleanType,false), StructField(facility_declaration_RefID,StringType,true), StructField(Value_process,StringType,true), StructField(Material,StringType,true), StructField(update_ts,TimestampType,false)), obj#15263004: org.apache.spark.sql.Row
(10) AdaptiveSparkPlan
Output [1]: [obj#15263004]
Arguments: isFinalPlan=true