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 <[email protected]>
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());