digraph G {
0 [id="node0" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster1 {
isCluster="true";
id="cluster1";
label="WholeStageCodegen (6)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (6)";
2 [id="node2" labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 0 ms<br>number of output rows: 1" tooltip="HashAggregate(keys=[], functions=[count(1)])"];
}
3 [id="node3" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2877]"];
subgraph cluster4 {
isCluster="true";
id="cluster4";
label="WholeStageCodegen (5)";
tooltip="WholeStageCodegen (5)";
5 [id="node5" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[], functions=[partial_count(1)])"];
6 [id="node6" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject"];
7 [id="node7" labelType="html" label="<br><b>MapElements</b><br><br>" tooltip="MapElements org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802109d40@5c492475, obj#2096: java.lang.String"];
8 [id="node8" labelType="html" label="<br><b>DeserializeToObject</b><br><br>" tooltip="DeserializeToObject invoke(path#1960.toString()), obj#2095: java.lang.String"];
9 [id="node9" labelType="html" label="<br><b>EmptyRelation</b><br><br>" tooltip="EmptyRelation [plan_id=2859]"];
10 [id="node10" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [path#1960]"];
11 [id="node11" labelType="html" label="<br><b>EmptyRelation</b><br><br>" tooltip="EmptyRelation Filter (count#1962L = 1)"];
12 [id="node12" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (count#1962L = 1)"];
13 [id="node13" labelType="html" label="<br><b>EmptyRelation</b><br><br>" tooltip="EmptyRelation LogicalQueryStage Aggregate [path#1960], [path#1960, count(1) AS count#1962L], HashAggregate(keys=[path#1960], functions=[count(1)])"];
14 [id="node14" labelType="html" label="<br><b>LogicalQueryStage</b><br><br>" tooltip="LogicalQueryStage Aggregate [path#1960], [path#1960, count(1) AS count#1962L], HashAggregate(keys=[path#1960], functions=[count(1)])"];
15 [id="node15" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[path#1960], functions=[count(1)])"];
}
16 [id="node16" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>data size: 0.0 B<br>shuffle write time: 0 ms<br>number of partitions: 200<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(path#1960, 200), ENSURE_REQUIREMENTS, [plan_id=2784]"];
subgraph cluster17 {
isCluster="true";
id="cluster17";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n43 ms (0 ms, 0 ms, 21 ms (stage 118.0: task 11519))";
tooltip="WholeStageCodegen (4)";
18 [id="node18" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 118.0: task 11519))<br>peak memory total (min, med, max (stageId: taskId))<br>50.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 118.0: task 11519))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[path#1960], functions=[partial_count(1)])"];
19 [id="node19" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.commands.VacuumCommand$FileNameAndSize, true])).path()))) AS path#1960]"];
}
20 [id="node20" labelType="html" label="<br><b>MapPartitions</b><br><br>" tooltip="MapPartitions org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x00000008020dc000@322e395f, obj#1957: org.apache.spark.sql.delta.commands.VacuumCommand$FileNameAndSize"];
21 [id="node21" labelType="html" label="<br><b>DeserializeToObject</b><br><br>" tooltip="DeserializeToObject newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), obj#1954: org.apache.spark.sql.delta.SerializableFileStatus"];
subgraph cluster22 {
isCluster="true";
id="cluster22";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n278 ms (1 ms, 1 ms, 78 ms (stage 118.0: task 11519))";
tooltip="WholeStageCodegen (3)";
23 [id="node23" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((modificationTime#1702L < 1787991979546) OR isDir#1701)"];
}
24 [id="node24" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [path#1699, length#1700L, isDir#1701, modificationTime#1702L], [((modificationTime#1702L < 1787991979546) OR isDir#1701)]"];
25 [id="node25" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster26 {
isCluster="true";
id="cluster26";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
27 [id="node27" labelType="html" label="<br><b>SerializeFromObject</b><br><br>" tooltip="SerializeFromObject [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#1699, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#1700L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#1701, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#1702L]"];
}
28 [id="node28" labelType="html" label="<br><b>MapGroups</b><br><br>" tooltip="MapGroups org.apache.spark.sql.internal.UDFAdaptors$$$Lambda/0x000000080209d5c0@563ebb8d, invoke(value#1693.toString()), newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), [value#1693], [path#1683, length#1684L, isDir#1685, modificationTime#1686L], obj#1698: org.apache.spark.sql.delta.SerializableFileStatus"];
subgraph cluster29 {
isCluster="true";
id="cluster29";
label="WholeStageCodegen (1)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (1)";
30 [id="node30" labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 0.0 B<br>spill size: 0.0 B" tooltip="Sort [value#1693 ASC NULLS FIRST], false, 0"];
}
31 [id="node31" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>number of partitions: 0<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(value#1693, 200), ENSURE_REQUIREMENTS, [plan_id=2018]"];
32 [id="node32" labelType="html" label="<br><b>AppendColumnsWithObject</b><br><br>" tooltip="AppendColumnsWithObject org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x000000080209c000@3c79482b, [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#1683, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#1684L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#1685, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#1686L], [static_invoke(UTF8String.fromString(input[0, java.lang.String, true])) AS value#1693]"];
33 [id="node33" labelType="html" label="<br><b>MapElements</b><br><br>" tooltip="MapElements org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802093950@5e5aa004, obj#1682: org.apache.spark.sql.delta.SerializableFileStatus"];
34 [id="node34" labelType="html" label="<b>Scan</b><br><br>number of output rows: 0" tooltip="Scan[obj#1667]"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
9->8;
10->9;
11->10;
12->11;
13->12;
14->13;
15->14;
16->15;
18->16;
19->18;
20->19;
21->20;
23->21;
24->23;
25->24;
27->25;
28->27;
30->28;
31->30;
32->31;
33->32;
34->33;
}
== Physical Plan ==
AdaptiveSparkPlan (50)
+- == Final Plan ==
ResultQueryStage (9), Statistics(sizeInBytes=8.0 EiB)
+- * HashAggregate (8)
+- ShuffleQueryStage (7), Statistics(sizeInBytes=0.0 B, rowCount=0)
+- Exchange (6)
+- * HashAggregate (5)
+- * SerializeFromObject (4)
+- * MapElements (3)
+- * DeserializeToObject (2)
+- * EmptyRelation (1)
+- Project (unknown)
+- EmptyRelation (unknown)
+- == Initial Plan ==
HashAggregate (49)
+- Exchange (48)
+- HashAggregate (47)
+- SerializeFromObject (46)
+- MapElements (45)
+- DeserializeToObject (44)
+- SortMergeJoin LeftAnti (43)
:- Sort (34)
: +- Project (33)
: +- Filter (32)
: +- HashAggregate (31)
: +- Exchange (30)
: +- HashAggregate (29)
: +- SerializeFromObject (28)
: +- MapPartitions (27)
: +- DeserializeToObject (26)
: +- Filter (25)
: +- InMemoryTableScan (10)
: +- InMemoryRelation (11)
: +- AdaptiveSparkPlan (24)
+- == Final Plan ==
ResultQueryStage (20)
+- * SerializeFromObject (19)
+- MapGroups (18)
+- * Sort (17)
+- ShuffleQueryStage (16), Statistics(sizeInBytes=0.0 B, rowCount=0)
+- Exchange (15)
+- AppendColumnsWithObject (14)
+- MapElements (13)
+- Scan (12)
+- == Initial Plan ==
SerializeFromObject (23)
+- MapGroups (22)
+- Sort (21)
+- Exchange (15)
+- AppendColumnsWithObject (14)
+- MapElements (13)
+- Scan (12)
+- Sort (42)
+- Exchange (41)
+- Project (40)
+- Filter (39)
+- SerializeFromObject (38)
+- MapPartitions (37)
+- DeserializeToObject (36)
+- Scan ExistingRDD Delta Table State #0 - hdlfs://065c2b6f-41bb-4a20-b7a2-eb965f9cb071.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-workload-determination-service/in/workload-dupl-lock-v3/_delta_log (35)
(1) EmptyRelation [codegen id : 5]
Output [1]: [path#1960]
Arguments: [plan_id=2859]
(2) DeserializeToObject [codegen id : 5]
Input [1]: [path#1960]
Arguments: invoke(path#1960.toString()), obj#2095: java.lang.String
(3) MapElements [codegen id : 5]
Input [1]: [obj#2095]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802109d40@5c492475, obj#2096: java.lang.String
(4) SerializeFromObject [codegen id : 5]
Input [1]: [obj#2096]
(5) HashAggregate [codegen id : 5]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#2163L]
Results [1]: [count#2164L]
(6) Exchange
Input [1]: [count#2164L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2877]
(7) ShuffleQueryStage
Output [1]: [count#2164L]
Arguments: 3
(8) HashAggregate [codegen id : 6]
Input [1]: [count#2164L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#2102L]
Results [1]: [count(1)#2102L AS count#2100L]
(9) ResultQueryStage
Output [1]: [count#2100L]
Arguments: 4
(10) InMemoryTableScan
Output [4]: [path#1699, length#1700L, isDir#1701, modificationTime#1702L]
Arguments: [path#1699, length#1700L, isDir#1701, modificationTime#1702L], [((modificationTime#1702L < 1787991979546) OR isDir#1701)]
(11) InMemoryRelation
Arguments: [path#1699, length#1700L, isDir#1701, modificationTime#1702L], StorageLevel(disk, memory, deserialized, 1 replicas)
(12) Scan
Output [1]: [obj#1667]
Arguments: obj#1667: org.apache.spark.sql.delta.SerializableFileStatus, MapPartitionsRDD[189] at $anonfun$recordDeltaOperationInternal$1 at DatabricksLogging.scala:128
(13) MapElements
Input [1]: [obj#1667]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802093950@5e5aa004, obj#1682: org.apache.spark.sql.delta.SerializableFileStatus
(14) AppendColumnsWithObject
Input [1]: [obj#1682]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x000000080209c000@3c79482b, [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#1683, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#1684L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#1685, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#1686L], [static_invoke(UTF8String.fromString(input[0, java.lang.String, true])) AS value#1693]
(15) Exchange
Input [5]: [path#1683, length#1684L, isDir#1685, modificationTime#1686L, value#1693]
Arguments: hashpartitioning(value#1693, 200), ENSURE_REQUIREMENTS, [plan_id=2018]
(16) ShuffleQueryStage
Output [5]: [path#1683, length#1684L, isDir#1685, modificationTime#1686L, value#1693]
Arguments: 0
(17) Sort [codegen id : 1]
Input [5]: [path#1683, length#1684L, isDir#1685, modificationTime#1686L, value#1693]
Arguments: [value#1693 ASC NULLS FIRST], false, 0
(18) MapGroups
Input [5]: [path#1683, length#1684L, isDir#1685, modificationTime#1686L, value#1693]
Arguments: org.apache.spark.sql.internal.UDFAdaptors$$$Lambda/0x000000080209d5c0@563ebb8d, invoke(value#1693.toString()), newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), [value#1693], [path#1683, length#1684L, isDir#1685, modificationTime#1686L], obj#1698: org.apache.spark.sql.delta.SerializableFileStatus
(19) SerializeFromObject [codegen id : 2]
Input [1]: [obj#1698]
Arguments: [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#1699, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#1700L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#1701, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#1702L]
(20) ResultQueryStage
Output [4]: [path#1699, length#1700L, isDir#1701, modificationTime#1702L]
Arguments: 1
(21) Sort
Input [5]: [path#1683, length#1684L, isDir#1685, modificationTime#1686L, value#1693]
Arguments: [value#1693 ASC NULLS FIRST], false, 0
(22) MapGroups
Input [5]: [path#1683, length#1684L, isDir#1685, modificationTime#1686L, value#1693]
Arguments: org.apache.spark.sql.internal.UDFAdaptors$$$Lambda/0x000000080209d5c0@563ebb8d, invoke(value#1693.toString()), newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), [value#1693], [path#1683, length#1684L, isDir#1685, modificationTime#1686L], obj#1698: org.apache.spark.sql.delta.SerializableFileStatus
(23) SerializeFromObject
Input [1]: [obj#1698]
Arguments: [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#1699, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#1700L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#1701, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#1702L]
(24) AdaptiveSparkPlan
Output [4]: [path#1699, length#1700L, isDir#1701, modificationTime#1702L]
Arguments: isFinalPlan=true
(25) Filter
Input [4]: [path#1699, length#1700L, isDir#1701, modificationTime#1702L]
Condition : ((modificationTime#1702L < 1787991979546) OR isDir#1701)
(26) DeserializeToObject
Input [4]: [path#1699, length#1700L, isDir#1701, modificationTime#1702L]
Arguments: newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), obj#1954: org.apache.spark.sql.delta.SerializableFileStatus
(27) MapPartitions
Input [1]: [obj#1954]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x00000008020dc000@322e395f, obj#1957: org.apache.spark.sql.delta.commands.VacuumCommand$FileNameAndSize
(28) SerializeFromObject
Input [1]: [obj#1957]
Arguments: [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.commands.VacuumCommand$FileNameAndSize, true])).path()))) AS path#1960]
(29) HashAggregate
Input [1]: [path#1960]
Keys [1]: [path#1960]
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#2035L]
Results [2]: [path#1960, count#2037L]
(30) Exchange
Input [2]: [path#1960, count#2037L]
Arguments: hashpartitioning(path#1960, 200), ENSURE_REQUIREMENTS, [plan_id=2579]
(31) HashAggregate
Input [2]: [path#1960, count#2037L]
Keys [1]: [path#1960]
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#1966L]
Results [2]: [path#1960, count(1)#1966L AS count#1962L]
(32) Filter
Input [2]: [path#1960, count#1962L]
Condition : (count#1962L = 1)
(33) Project
Output [1]: [path#1960]
Input [2]: [path#1960, count#1962L]
(34) Sort
Input [1]: [path#1960]
Arguments: [path#1960 ASC NULLS FIRST], false, 0
(35) Scan ExistingRDD Delta Table State #0 - hdlfs://065c2b6f-41bb-4a20-b7a2-eb965f9cb071.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-workload-determination-service/in/workload-dupl-lock-v3/_delta_log [codegen id : 1]
Output [10]: [txn#113, add#114, remove#115, metaData#116, protocol#117, cdc#118, checkpointMetadata#119, sidecar#120, domainMetadata#121, commitInfo#122]
Arguments: [txn#113, add#114, remove#115, metaData#116, protocol#117, cdc#118, checkpointMetadata#119, sidecar#120, domainMetadata#121, commitInfo#122], Delta Table State #0 - hdlfs://065c2b6f-41bb-4a20-b7a2-eb965f9cb071.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-workload-determination-service/in/workload-dupl-lock-v3/_delta_log MapPartitionsRDD[10] at $anonfun$recordDeltaOperationInternal$1 at DatabricksLogging.scala:128, ExistingRDD, UnknownPartitioning(0)
(36) DeserializeToObject
Input [10]: [txn#113, add#114, remove#115, metaData#116, protocol#117, cdc#118, checkpointMetadata#119, sidecar#120, domainMetadata#121, commitInfo#122]
Arguments: newInstance(class org.apache.spark.sql.delta.actions.SingleAction), obj#1655: org.apache.spark.sql.delta.actions.SingleAction
(37) MapPartitions
Input [1]: [obj#1655]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x000000080208f3e8@6d88f017, obj#1656: java.lang.String
(38) SerializeFromObject
Input [1]: [obj#1656]
Arguments: [static_invoke(UTF8String.fromString(input[0, java.lang.String, true])) AS value#1657]
(39) Filter
Input [1]: [value#1657]
Condition : isnotnull(value#1657)
(40) Project
Output [1]: [value#1657 AS path#1658]
Input [1]: [value#1657]
(41) Exchange
Input [1]: [path#1658]
Arguments: hashpartitioning(path#1658, 200), ENSURE_REQUIREMENTS, [plan_id=2585]
(42) Sort
Input [1]: [path#1658]
Arguments: [path#1658 ASC NULLS FIRST], false, 0
(43) SortMergeJoin
Left keys [1]: [path#1960]
Right keys [1]: [path#1658]
Join type: LeftAnti
Join condition: None
(44) DeserializeToObject
Input [1]: [path#1960]
Arguments: invoke(path#1960.toString()), obj#2095: java.lang.String
(45) MapElements
Input [1]: [obj#2095]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802109d40@5c492475, obj#2096: java.lang.String
(46) SerializeFromObject
Input [1]: [obj#2096]
(47) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#2163L]
Results [1]: [count#2164L]
(48) Exchange
Input [1]: [count#2164L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2594]
(49) HashAggregate
Input [1]: [count#2164L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#2102L]
Results [1]: [count(1)#2102L AS count#2100L]
(50) AdaptiveSparkPlan
Output [1]: [count#2100L]
Arguments: isFinalPlan=true