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=6002]"];
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@7bea9f07, obj#4351: java.lang.String"];
8 [id="node8" labelType="html" label="<br><b>DeserializeToObject</b><br><br>" tooltip="DeserializeToObject invoke(path#4215.toString()), obj#4350: java.lang.String"];
9 [id="node9" labelType="html" label="<br><b>EmptyRelation</b><br><br>" tooltip="EmptyRelation [plan_id=5984]"];
10 [id="node10" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [path#4215]"];
11 [id="node11" labelType="html" label="<br><b>EmptyRelation</b><br><br>" tooltip="EmptyRelation Filter (count#4217L = 1)"];
12 [id="node12" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter (count#4217L = 1)"];
13 [id="node13" labelType="html" label="<br><b>EmptyRelation</b><br><br>" tooltip="EmptyRelation LogicalQueryStage Aggregate [path#4215], [path#4215, count(1) AS count#4217L], HashAggregate(keys=[path#4215], functions=[count(1)])"];
14 [id="node14" labelType="html" label="<br><b>LogicalQueryStage</b><br><br>" tooltip="LogicalQueryStage Aggregate [path#4215], [path#4215, count(1) AS count#4217L], HashAggregate(keys=[path#4215], functions=[count(1)])"];
15 [id="node15" labelType="html" label="<br><b>HashAggregate</b><br><br>" tooltip="HashAggregate(keys=[path#4215], 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#4215, 200), ENSURE_REQUIREMENTS, [plan_id=5909]"];
subgraph cluster17 {
isCluster="true";
id="cluster17";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n34 ms (0 ms, 0 ms, 22 ms (stage 244.0: task 23536))";
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 244.0: task 23536))<br>peak memory total (min, med, max (stageId: taskId))<br>50.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 244.0: task 23536))<br>number of output rows: 0<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[path#4215], 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#4215]"];
}
20 [id="node20" labelType="html" label="<br><b>MapPartitions</b><br><br>" tooltip="MapPartitions org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x00000008020dc000@6b8c52a1, obj#4212: 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#4209: org.apache.spark.sql.delta.SerializableFileStatus"];
subgraph cluster22 {
isCluster="true";
id="cluster22";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n302 ms (0 ms, 1 ms, 102 ms (stage 244.0: task 23536))";
tooltip="WholeStageCodegen (3)";
23 [id="node23" labelType="html" label="<b>Filter</b><br><br>number of output rows: 0" tooltip="Filter ((modificationTime#3957L < 1788027607910) OR isDir#3956)"];
}
24 [id="node24" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 0" tooltip="InMemoryTableScan [path#3954, length#3955L, isDir#3956, modificationTime#3957L], [((modificationTime#3957L < 1788027607910) OR isDir#3956)]"];
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#3954, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#3955L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#3956, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#3957L]"];
}
28 [id="node28" labelType="html" label="<br><b>MapGroups</b><br><br>" tooltip="MapGroups org.apache.spark.sql.internal.UDFAdaptors$$$Lambda/0x000000080209d5c0@754784c3, invoke(value#3948.toString()), newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), [value#3948], [path#3938, length#3939L, isDir#3940, modificationTime#3941L], obj#3953: 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#3948 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#3948, 200), ENSURE_REQUIREMENTS, [plan_id=5143]"];
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#3938, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#3939L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#3940, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#3941L], [static_invoke(UTF8String.fromString(input[0, java.lang.String, true])) AS value#3948]"];
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#3937: 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#3922]"];
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#4215]
Arguments: [plan_id=5984]
(2) DeserializeToObject [codegen id : 5]
Input [1]: [path#4215]
Arguments: invoke(path#4215.toString()), obj#4350: java.lang.String
(3) MapElements [codegen id : 5]
Input [1]: [obj#4350]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802109d40@7bea9f07, obj#4351: java.lang.String
(4) SerializeFromObject [codegen id : 5]
Input [1]: [obj#4351]
(5) HashAggregate [codegen id : 5]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#4418L]
Results [1]: [count#4419L]
(6) Exchange
Input [1]: [count#4419L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=6002]
(7) ShuffleQueryStage
Output [1]: [count#4419L]
Arguments: 3
(8) HashAggregate [codegen id : 6]
Input [1]: [count#4419L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#4357L]
Results [1]: [count(1)#4357L AS count#4355L]
(9) ResultQueryStage
Output [1]: [count#4355L]
Arguments: 4
(10) InMemoryTableScan
Output [4]: [path#3954, length#3955L, isDir#3956, modificationTime#3957L]
Arguments: [path#3954, length#3955L, isDir#3956, modificationTime#3957L], [((modificationTime#3957L < 1788027607910) OR isDir#3956)]
(11) InMemoryRelation
Arguments: [path#3954, length#3955L, isDir#3956, modificationTime#3957L], StorageLevel(disk, memory, deserialized, 1 replicas)
(12) Scan
Output [1]: [obj#3922]
Arguments: obj#3922: org.apache.spark.sql.delta.SerializableFileStatus, MapPartitionsRDD[462] at $anonfun$recordDeltaOperationInternal$1 at DatabricksLogging.scala:128
(13) MapElements
Input [1]: [obj#3922]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802093950@5e5aa004, obj#3937: org.apache.spark.sql.delta.SerializableFileStatus
(14) AppendColumnsWithObject
Input [1]: [obj#3937]
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#3938, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#3939L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#3940, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#3941L], [static_invoke(UTF8String.fromString(input[0, java.lang.String, true])) AS value#3948]
(15) Exchange
Input [5]: [path#3938, length#3939L, isDir#3940, modificationTime#3941L, value#3948]
Arguments: hashpartitioning(value#3948, 200), ENSURE_REQUIREMENTS, [plan_id=5143]
(16) ShuffleQueryStage
Output [5]: [path#3938, length#3939L, isDir#3940, modificationTime#3941L, value#3948]
Arguments: 0
(17) Sort [codegen id : 1]
Input [5]: [path#3938, length#3939L, isDir#3940, modificationTime#3941L, value#3948]
Arguments: [value#3948 ASC NULLS FIRST], false, 0
(18) MapGroups
Input [5]: [path#3938, length#3939L, isDir#3940, modificationTime#3941L, value#3948]
Arguments: org.apache.spark.sql.internal.UDFAdaptors$$$Lambda/0x000000080209d5c0@754784c3, invoke(value#3948.toString()), newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), [value#3948], [path#3938, length#3939L, isDir#3940, modificationTime#3941L], obj#3953: org.apache.spark.sql.delta.SerializableFileStatus
(19) SerializeFromObject [codegen id : 2]
Input [1]: [obj#3953]
Arguments: [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#3954, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#3955L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#3956, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#3957L]
(20) ResultQueryStage
Output [4]: [path#3954, length#3955L, isDir#3956, modificationTime#3957L]
Arguments: 1
(21) Sort
Input [5]: [path#3938, length#3939L, isDir#3940, modificationTime#3941L, value#3948]
Arguments: [value#3948 ASC NULLS FIRST], false, 0
(22) MapGroups
Input [5]: [path#3938, length#3939L, isDir#3940, modificationTime#3941L, value#3948]
Arguments: org.apache.spark.sql.internal.UDFAdaptors$$$Lambda/0x000000080209d5c0@754784c3, invoke(value#3948.toString()), newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), [value#3948], [path#3938, length#3939L, isDir#3940, modificationTime#3941L], obj#3953: org.apache.spark.sql.delta.SerializableFileStatus
(23) SerializeFromObject
Input [1]: [obj#3953]
Arguments: [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).path()))) AS path#3954, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).length()) AS length#3955L, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).isDir()) AS isDir#3956, invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.SerializableFileStatus, true])).modificationTime()) AS modificationTime#3957L]
(24) AdaptiveSparkPlan
Output [4]: [path#3954, length#3955L, isDir#3956, modificationTime#3957L]
Arguments: isFinalPlan=true
(25) Filter
Input [4]: [path#3954, length#3955L, isDir#3956, modificationTime#3957L]
Condition : ((modificationTime#3957L < 1788027607910) OR isDir#3956)
(26) DeserializeToObject
Input [4]: [path#3954, length#3955L, isDir#3956, modificationTime#3957L]
Arguments: newInstance(class org.apache.spark.sql.delta.SerializableFileStatus), obj#4209: org.apache.spark.sql.delta.SerializableFileStatus
(27) MapPartitions
Input [1]: [obj#4209]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x00000008020dc000@6b8c52a1, obj#4212: org.apache.spark.sql.delta.commands.VacuumCommand$FileNameAndSize
(28) SerializeFromObject
Input [1]: [obj#4212]
Arguments: [static_invoke(UTF8String.fromString(invoke(knownnotnull(assertnotnull(input[0, org.apache.spark.sql.delta.commands.VacuumCommand$FileNameAndSize, true])).path()))) AS path#4215]
(29) HashAggregate
Input [1]: [path#4215]
Keys [1]: [path#4215]
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#4290L]
Results [2]: [path#4215, count#4292L]
(30) Exchange
Input [2]: [path#4215, count#4292L]
Arguments: hashpartitioning(path#4215, 200), ENSURE_REQUIREMENTS, [plan_id=5704]
(31) HashAggregate
Input [2]: [path#4215, count#4292L]
Keys [1]: [path#4215]
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#4221L]
Results [2]: [path#4215, count(1)#4221L AS count#4217L]
(32) Filter
Input [2]: [path#4215, count#4217L]
Condition : (count#4217L = 1)
(33) Project
Output [1]: [path#4215]
Input [2]: [path#4215, count#4217L]
(34) Sort
Input [1]: [path#4215]
Arguments: [path#4215 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#2402, add#2403, remove#2404, metaData#2405, protocol#2406, cdc#2407, checkpointMetadata#2408, sidecar#2409, domainMetadata#2410, commitInfo#2411]
Arguments: [txn#2402, add#2403, remove#2404, metaData#2405, protocol#2406, cdc#2407, checkpointMetadata#2408, sidecar#2409, domainMetadata#2410, commitInfo#2411], 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[283] at $anonfun$recordDeltaOperationInternal$1 at DatabricksLogging.scala:128, ExistingRDD, UnknownPartitioning(0)
(36) DeserializeToObject
Input [10]: [txn#2402, add#2403, remove#2404, metaData#2405, protocol#2406, cdc#2407, checkpointMetadata#2408, sidecar#2409, domainMetadata#2410, commitInfo#2411]
Arguments: newInstance(class org.apache.spark.sql.delta.actions.SingleAction), obj#3914: org.apache.spark.sql.delta.actions.SingleAction
(37) MapPartitions
Input [1]: [obj#3914]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x000000080208f3e8@4d3dda6d, obj#3915: java.lang.String
(38) SerializeFromObject
Input [1]: [obj#3915]
Arguments: [static_invoke(UTF8String.fromString(input[0, java.lang.String, true])) AS value#3916]
(39) Filter
Input [1]: [value#3916]
Condition : isnotnull(value#3916)
(40) Project
Output [1]: [value#3916 AS path#3917]
Input [1]: [value#3916]
(41) Exchange
Input [1]: [path#3917]
Arguments: hashpartitioning(path#3917, 200), ENSURE_REQUIREMENTS, [plan_id=5710]
(42) Sort
Input [1]: [path#3917]
Arguments: [path#3917 ASC NULLS FIRST], false, 0
(43) SortMergeJoin
Left keys [1]: [path#4215]
Right keys [1]: [path#3917]
Join type: LeftAnti
Join condition: None
(44) DeserializeToObject
Input [1]: [path#4215]
Arguments: invoke(path#4215.toString()), obj#4350: java.lang.String
(45) MapElements
Input [1]: [obj#4350]
Arguments: org.apache.spark.sql.delta.commands.VacuumCommand$$$Lambda/0x0000000802109d40@7bea9f07, obj#4351: java.lang.String
(46) SerializeFromObject
Input [1]: [obj#4351]
(47) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#4418L]
Results [1]: [count#4419L]
(48) Exchange
Input [1]: [count#4419L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=5719]
(49) HashAggregate
Input [1]: [count#4419L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#4357L]
Results [1]: [count(1)#4357L AS count#4355L]
(50) AdaptiveSparkPlan
Output [1]: [count#4355L]
Arguments: isFinalPlan=true