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#1804)) null else named_struct(path, _1#1804.path, partitionValues, _1#1804.partitionValues, size, _1#1804.size, modificationTime, _1#1804.modificationTime, dataChange, _1#1804.dataChange, stats, null, tags, _1#1804.tags, deletionVector, _1#1804.deletionVector, baseRowId, _1#1804.baseRowId, defaultRowCommitVersion, _1#1804.defaultRowCommitVersion, clusteringProvider, _1#1804.clusteringProvider) AS add#1811, _2#1805L AS index#1810L, null AS remove#1812, null AS cdc#1813, 0 AS version#1814L, false AS isLast#1815, false AS shouldSkip#1816]"];
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#1804, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#1805L]"];
}
3 [id="node3" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#1803]"];
2->1;
3->2;
}
== Physical Plan ==
* Project (3)
+- * SerializeFromObject (2)
+- Scan (1)
(1) Scan
Output [1]: [obj#1803]
Arguments: obj#1803: scala.Tuple2, ZippedWithIndexRDD[171] at start at FileStorageAdapterImpl.java:171
(2) SerializeFromObject [codegen id : 1]
Input [1]: [obj#1803]
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#1804, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#1805L]
(3) Project [codegen id : 1]
Output [7]: [if (isnull(_1#1804)) null else named_struct(path, _1#1804.path, partitionValues, _1#1804.partitionValues, size, _1#1804.size, modificationTime, _1#1804.modificationTime, dataChange, _1#1804.dataChange, stats, null, tags, _1#1804.tags, deletionVector, _1#1804.deletionVector, baseRowId, _1#1804.baseRowId, defaultRowCommitVersion, _1#1804.defaultRowCommitVersion, clusteringProvider, _1#1804.clusteringProvider) AS add#1811, _2#1805L AS index#1810L, null AS remove#1812, null AS cdc#1813, 0 AS version#1814L, false AS isLast#1815, false AS shouldSkip#1816]
Input [2]: [_1#1804, _2#1805L]