digraph G {
subgraph cluster0 {
isCluster="true";
id="cluster0";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
1 [id="node1" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [if (isnull(_1#710)) null else named_struct(path, _1#710.path, partitionValues, _1#710.partitionValues, size, _1#710.size, modificationTime, _1#710.modificationTime, dataChange, _1#710.dataChange, stats, null, tags, _1#710.tags, deletionVector, _1#710.deletionVector, baseRowId, _1#710.baseRowId, defaultRowCommitVersion, _1#710.defaultRowCommitVersion, clusteringProvider, _1#710.clusteringProvider) AS add#717, _2#711L AS index#716L, null AS remove#718, null AS cdc#719, 0 AS version#720L, false AS isLast#721, false AS shouldSkip#722]"];
2 [id="node2" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [if (isnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1()))) null else named_struct(path, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).path()))), partitionValues, externalmaptocatalyst(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -1), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -1), StringType, ObjectType(class java.lang.String)))), lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -2), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -2), StringType, ObjectType(class java.lang.String)))), invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).partitionValues())), size, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).size()), modificationTime, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).modificationTime()), dataChange, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).dataChange()), stats, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).stats()))), tags, externalmaptocatalyst(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -3), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -3), StringType, ObjectType(class java.lang.String)))), lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -4), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -4), StringType, ObjectType(class java.lang.String)))), invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).tags())), deletionVector, if (isnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector()))) null else named_struct(storageType, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).storageType()))), pathOrInlineDv, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).pathOrInlineDv()))), offset, unwrapoption(IntegerType, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).offset())), sizeInBytes, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).sizeInBytes()), cardinality, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).cardinality()), maxRowIndex, unwrapoption(LongType, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).maxRowIndex()))), baseRowId, unwrapoption(LongType, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).baseRowId())), defaultRowCommitVersion, unwrapoption(LongType, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).defaultRowCommitVersion())), clusteringProvider, static_invoke(UTF8String.fromString(unwrapoption(ObjectType(class java.lang.String), invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).clusteringProvider()))))) AS _1#710, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#711L]"];
}
3 [id="node3" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#709]"];
2->1;
3->2;
}
== Physical Plan ==
* Project (3)
+- * SerializeFromObject (2)
+- Scan (1)
(1) Scan
Output [1]: [obj#709]
Arguments: obj#709: scala.Tuple2, ZippedWithIndexRDD[60] at start at FileStorageAdapterImpl.java:171
(2) SerializeFromObject [codegen id : 1]
Input [1]: [obj#709]
Arguments: [if (isnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1()))) null else named_struct(path, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).path()))), partitionValues, externalmaptocatalyst(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -1), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -1), StringType, ObjectType(class java.lang.String)))), lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -2), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -2), StringType, ObjectType(class java.lang.String)))), invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).partitionValues())), size, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).size()), modificationTime, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).modificationTime()), dataChange, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).dataChange()), stats, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).stats()))), tags, externalmaptocatalyst(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -3), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_key, ObjectType(class java.lang.Object), true, -3), StringType, ObjectType(class java.lang.String)))), lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -4), static_invoke(UTF8String.fromString(validateexternaltype(lambdavariable(ExternalMapToCatalyst_value, ObjectType(class java.lang.Object), true, -4), StringType, ObjectType(class java.lang.String)))), invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).tags())), deletionVector, if (isnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector()))) null else named_struct(storageType, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).storageType()))), pathOrInlineDv, static_invoke(UTF8String.fromString(invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).pathOrInlineDv()))), offset, unwrapoption(IntegerType, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).offset())), sizeInBytes, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).sizeInBytes()), cardinality, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).cardinality()), maxRowIndex, unwrapoption(LongType, invoke(knownnotnull(invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).deletionVector())).maxRowIndex()))), baseRowId, unwrapoption(LongType, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).baseRowId())), defaultRowCommitVersion, unwrapoption(LongType, invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).defaultRowCommitVersion())), clusteringProvider, static_invoke(UTF8String.fromString(unwrapoption(ObjectType(class java.lang.String), invoke(knownnotnull(invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._1())).clusteringProvider()))))) AS _1#710, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#711L]
(3) Project [codegen id : 1]
Output [7]: [if (isnull(_1#710)) null else named_struct(path, _1#710.path, partitionValues, _1#710.partitionValues, size, _1#710.size, modificationTime, _1#710.modificationTime, dataChange, _1#710.dataChange, stats, null, tags, _1#710.tags, deletionVector, _1#710.deletionVector, baseRowId, _1#710.baseRowId, defaultRowCommitVersion, _1#710.defaultRowCommitVersion, clusteringProvider, _1#710.clusteringProvider) AS add#717, _2#711L AS index#716L, null AS remove#718, null AS cdc#719, 0 AS version#720L, false AS isLast#721, false AS shouldSkip#722]
Input [2]: [_1#710, _2#711L]