digraph G {
0 [id="node0" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [add#2191.path AS path#2264, add#2191.partitionValues AS partitionValues#2265, add#2191.size AS size#2266L, add#2191.modificationTime AS modificationTime#2267L, add#2191.dataChange AS dataChange#2268, from_json(StructField(numRecords,LongType,true), StructField(minValues,StructType(StructField(product,StringType,true),StructField(plant,StringType,true),StructField(outboundUnit,DoubleType,true),StructField(stockDatetime,TimestampType,true)),true), StructField(maxValues,StructType(StructField(product,StringType,true),StructField(plant,StringType,true),StructField(outboundUnit,DoubleType,true),StructField(stockDatetime,TimestampType,true)),true), StructField(nullCount,StructType(StructField(product,LongType,true),StructField(plant,LongType,true),StructField(outboundUnit,LongType,true),StructField(stockDatetime,LongType,true),StructField(stockBatchQuantities,LongType,true),StructField(stockBatchShelfLifeEndDatetimes,LongType,true),StructField(dayBucketDemands,LongType,true),StructField(pointInTimeDemands,LongType,true),StructField(openGoodsMovementQuantities,LongType,true),StructField(openGoodsMovementAvailabilityDatetimes,LongType,true),StructField(openGoodsMovementShelfLifeEndDatetimes,LongType,true),StructField(configuration,LongType,true),StructField(timeDependentSettingsName,LongType,true),StructField(timeDependentSettingsStartDatetime,LongType,true),StructField(timeDependentSettingsEndDatetime,LongType,true),StructField(timeDependentSettingsValue,LongType,true)),true), add#2191.stats, Some(UTC), false) AS stats#2275, add#2191.tags AS tags#2270, add#2191.deletionVector AS deletionVector#2271, add#2191.baseRowId AS baseRowId#2272L, add#2191.defaultRowCommitVersion AS defaultRowCommitVersion#2273L, add#2191.clusteringProvider AS clusteringProvider#2274]"];
subgraph cluster1 {
isCluster="true";
id="cluster1";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
2 [id="node2" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter isnotnull(add#2191)"];
3 [id="node3" labelType="html" label="<br><b>Scan ExistingRDD Delta Table State #0 - hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/internal/data-snapshot/10000002105/0_1_10000002105/_delta_log</b><br><br>" tooltip="Scan ExistingRDD Delta Table State #0 - hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/internal/data-snapshot/10000002105/0_1_10000002105/_delta_log[txn#2190,add#2191,remove#2192,metaData#2193,protocol#2194,cdc#2195,checkpointMetadata#2196,sidecar#2197,domainMetadata#2198,commitInfo#2199]"];
}
2->0;
3->2;
}
== Physical Plan ==
Project (3)
+- * Filter (2)
+- * Scan ExistingRDD Delta Table State #0 - hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/internal/data-snapshot/10000002105/0_1_10000002105/_delta_log (1)
(1) Scan ExistingRDD Delta Table State #0 - hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/internal/data-snapshot/10000002105/0_1_10000002105/_delta_log [codegen id : 1]
Output [10]: [txn#2190, add#2191, remove#2192, metaData#2193, protocol#2194, cdc#2195, checkpointMetadata#2196, sidecar#2197, domainMetadata#2198, commitInfo#2199]
Arguments: [txn#2190, add#2191, remove#2192, metaData#2193, protocol#2194, cdc#2195, checkpointMetadata#2196, sidecar#2197, domainMetadata#2198, commitInfo#2199], Delta Table State #0 - hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-quantity-kpi-service/internal/data-snapshot/10000002105/0_1_10000002105/_delta_log MapPartitionsRDD[105] at start at FileStorageAdapterImpl.java:177, ExistingRDD, UnknownPartitioning(0)
(2) Filter [codegen id : 1]
Input [10]: [txn#2190, add#2191, remove#2192, metaData#2193, protocol#2194, cdc#2195, checkpointMetadata#2196, sidecar#2197, domainMetadata#2198, commitInfo#2199]
Condition : isnotnull(add#2191)
(3) Project
Output [11]: [add#2191.path AS path#2264, add#2191.partitionValues AS partitionValues#2265, add#2191.size AS size#2266L, add#2191.modificationTime AS modificationTime#2267L, add#2191.dataChange AS dataChange#2268, from_json(StructField(numRecords,LongType,true), StructField(minValues,StructType(StructField(product,StringType,true),StructField(plant,StringType,true),StructField(outboundUnit,DoubleType,true),StructField(stockDatetime,TimestampType,true)),true), StructField(maxValues,StructType(StructField(product,StringType,true),StructField(plant,StringType,true),StructField(outboundUnit,DoubleType,true),StructField(stockDatetime,TimestampType,true)),true), StructField(nullCount,StructType(StructField(product,LongType,true),StructField(plant,LongType,true),StructField(outboundUnit,LongType,true),StructField(stockDatetime,LongType,true),StructField(stockBatchQuantities,LongType,true),StructField(stockBatchShelfLifeEndDatetimes,LongType,true),StructField(dayBucketDemands,LongType,true),StructField(pointInTimeDemands,LongType,true),StructField(openGoodsMovementQuantities,LongType,true),StructField(openGoodsMovementAvailabilityDatetimes,LongType,true),StructField(openGoodsMovementShelfLifeEndDatetimes,LongType,true),StructField(configuration,LongType,true),StructField(timeDependentSettingsName,LongType,true),StructField(timeDependentSettingsStartDatetime,LongType,true),StructField(timeDependentSettingsEndDatetime,LongType,true),StructField(timeDependentSettingsValue,LongType,true)),true), add#2191.stats, Some(UTC), false) AS stats#2275, add#2191.tags AS tags#2270, add#2191.deletionVector AS deletionVector#2271, add#2191.baseRowId AS baseRowId#2272L, add#2191.defaultRowCommitVersion AS defaultRowCommitVersion#2273L, add#2191.clusteringProvider AS clusteringProvider#2274]
Input [10]: [txn#2190, add#2191, remove#2192, metaData#2193, protocol#2194, cdc#2195, checkpointMetadata#2196, sidecar#2197, domainMetadata#2198, commitInfo#2199]