This is an automated email from the ASF dual-hosted git repository. ibzib pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push: new 87f10bb [BEAM-12976] Log projection pushdown optimizations. new 6595861 Merge pull request #16724 from ibzib/log-opt 87f10bb is described below commit 87f10bbe7e342730c1113a294387d2e22150755e Author: Kyle Weaver <kcwea...@google.com> AuthorDate: Thu Feb 3 16:13:18 2022 -0800 [BEAM-12976] Log projection pushdown optimizations. --- .../core/construction/graph/ProjectionPushdownOptimizer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java index 9abb17f..4b6669a 100644 --- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java +++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/graph/ProjectionPushdownOptimizer.java @@ -37,9 +37,12 @@ import org.apache.beam.sdk.values.TaggedPValue; import org.apache.beam.sdk.values.TupleTag; import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableList; import org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.Iterables; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** See {@link #optimize(Pipeline)}. */ public class ProjectionPushdownOptimizer { + private static final Logger LOG = LoggerFactory.getLogger(ProjectionPushdownOptimizer.class); /** * Performs all known projection pushdown optimizations in-place on a Pipeline. @@ -78,6 +81,13 @@ public class ProjectionPushdownOptimizer { // fields. for (Entry<ProjectionProducer<PTransform<?, ?>>, Map<TupleTag<?>, FieldAccessDescriptor>> entry : taggedFieldAccess.entrySet()) { + for (Entry<TupleTag<?>, FieldAccessDescriptor> outputFields : entry.getValue().entrySet()) { + LOG.info( + "Optimizing transform {}: output {} will contain reduced field set {}", + entry.getKey(), + outputFields.getKey(), + outputFields.getValue().fieldNamesAccessed()); + } PTransformMatcher matcher = application -> application.getTransform() == entry.getKey(); PushdownOverrideFactory<?, ?> overrideFactory = new PushdownOverrideFactory<>(entry.getValue());