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());

Reply via email to