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#25140)) null else named_struct(path, _1#25140.path, partitionValues, _1#25140.partitionValues, size, _1#25140.size, modificationTime, _1#25140.modificationTime, dataChange, _1#25140.dataChange, stats, null, tags, _1#25140.tags, deletionVector, _1#25140.deletionVector, baseRowId, _1#25140.baseRowId, defaultRowCommitVersion, _1#25140.defaultRowCommitVersion, clusteringProvider, _1#25140.clusteringProvider) AS add#25147, _2#25141L AS index#25146L, null AS remove#25148, null AS cdc#25149, 0 AS version#25150L, false AS isLast#25151, false AS shouldSkip#25152]"];
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#25140, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#25141L]"];
}
3 [id="node3" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#25139]"];
2->1;
3->2;
}
== Physical Plan ==
* Project (3)
+- * SerializeFromObject (2)
+- Scan (1)
(1) Scan
Output [1]: [obj#25139]
Arguments: obj#25139: scala.Tuple2, ZippedWithIndexRDD[2493] at start at FileStorageAdapterImpl.java:179
(2) SerializeFromObject [codegen id : 1]
Input [1]: [obj#25139]
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#25140, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#25141L]
(3) Project [codegen id : 1]
Output [7]: [if (isnull(_1#25140)) null else named_struct(path, _1#25140.path, partitionValues, _1#25140.partitionValues, size, _1#25140.size, modificationTime, _1#25140.modificationTime, dataChange, _1#25140.dataChange, stats, null, tags, _1#25140.tags, deletionVector, _1#25140.deletionVector, baseRowId, _1#25140.baseRowId, defaultRowCommitVersion, _1#25140.defaultRowCommitVersion, clusteringProvider, _1#25140.clusteringProvider) AS add#25147, _2#25141L AS index#25146L, null AS remove#25148, null AS cdc#25149, 0 AS version#25150L, false AS isLast#25151, false AS shouldSkip#25152]
Input [2]: [_1#25140, _2#25141L]