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#685)) null else named_struct(path, _1#685.path, partitionValues, _1#685.partitionValues, size, _1#685.size, modificationTime, _1#685.modificationTime, dataChange, _1#685.dataChange, stats, null, tags, _1#685.tags, deletionVector, _1#685.deletionVector, baseRowId, _1#685.baseRowId, defaultRowCommitVersion, _1#685.defaultRowCommitVersion, clusteringProvider, _1#685.clusteringProvider) AS add#692, _2#686L AS index#691L, null AS remove#693, null AS cdc#694, 0 AS version#695L, false AS isLast#696, false AS shouldSkip#697]"];
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#685, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#686L]"];
}
3 [id="node3" labelType="html" label="<br><b>Scan</b><br><br>" tooltip="Scan[obj#684]"];
2->1;
3->2;
}
== Physical Plan ==
* Project (3)
+- * SerializeFromObject (2)
+- Scan (1)
(1) Scan
Output [1]: [obj#684]
Arguments: obj#684: scala.Tuple2, ZippedWithIndexRDD[55] at start at FileStorageAdapterImpl.java:174
(2) SerializeFromObject [codegen id : 1]
Input [1]: [obj#684]
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#685, invoke(knownnotnull(assertnotnull(input[0, scala.Tuple2, true]))._2()) AS _2#686L]
(3) Project [codegen id : 1]
Output [7]: [if (isnull(_1#685)) null else named_struct(path, _1#685.path, partitionValues, _1#685.partitionValues, size, _1#685.size, modificationTime, _1#685.modificationTime, dataChange, _1#685.dataChange, stats, null, tags, _1#685.tags, deletionVector, _1#685.deletionVector, baseRowId, _1#685.baseRowId, defaultRowCommitVersion, _1#685.defaultRowCommitVersion, clusteringProvider, _1#685.clusteringProvider) AS add#692, _2#686L AS index#691L, null AS remove#693, null AS cdc#694, 0 AS version#695L, false AS isLast#696, false AS shouldSkip#697]
Input [2]: [_1#685, _2#686L]