deniskuzZ commented on code in PR #12629:
URL: https://github.com/apache/iceberg/pull/12629#discussion_r2013998415
##########
core/src/main/java/org/apache/iceberg/PartitionStatsUtil.java:
##########
@@ -53,14 +56,43 @@ public static Collection<PartitionStats> computeStats(Table
table, Snapshot snap
StructType partitionType = Partitioning.partitionType(table);
List<ManifestFile> manifests = snapshot.allManifests(table.io());
- Queue<PartitionMap<PartitionStats>> statsByManifest =
Queues.newConcurrentLinkedQueue();
- Tasks.foreach(manifests)
- .stopOnFailure()
- .throwFailureWhenFinished()
- .executeWith(ThreadPools.getWorkerPool())
- .run(manifest -> statsByManifest.add(collectStats(table, manifest,
partitionType)));
+ return collectStats(table, manifests, partitionType).values();
+ }
+
+ /**
+ * Computes the partition stats incrementally after the given snapshot to
current snapshot.
+ *
+ * @param table the table for which partition stats to be computed.
+ * @param afterSnapshot the snapshot after which partition stats is computed
(exclusive).
+ * @param currentSnapshot the snapshot till which partition stats is
computed (inclusive).
+ * @return the {@link PartitionMap} of {@link PartitionStats}
+ */
+ public static PartitionMap<PartitionStats> computeStatsIncremental(
Review Comment:
I was thinking about something like this, and since we don't have dependency
on `data` here, we could do this in `PartitionStatsHandler`
````
public static Collection<PartitionStats> computeStats(Table table, Snapshot
snapshot) {
return computeStats(table, snapshot, true);
}
public static Collection<PartitionStats> computeStats(Table table, Snapshot
snapshot, boolean recompute) {
....
if (!recompute && latestStatsFile != null) {
load incremental
}
}
````
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]