beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From k...@apache.org
Subject [07/12] beam git commit: Add trivial FlattenTranslator to access URN
Date Fri, 26 May 2017 04:08:13 GMT
Add trivial FlattenTranslator to access URN


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/121631c6
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/121631c6
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/121631c6

Branch: refs/heads/master
Commit: 121631c62f94a6e553d3bbd8708cee2dbdf53923
Parents: 69bb1be
Author: Kenneth Knowles <klk@google.com>
Authored: Mon May 22 21:09:54 2017 -0700
Committer: Kenneth Knowles <klk@google.com>
Committed: Thu May 25 11:16:47 2017 -0700

----------------------------------------------------------------------
 .../core/construction/FlattenTranslator.java    | 63 ++++++++++++++++++++
 1 file changed, 63 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/121631c6/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
new file mode 100644
index 0000000..f1d553d
--- /dev/null
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.beam.runners.core.construction;
+
+import com.google.auto.service.AutoService;
+import java.util.Collections;
+import java.util.Map;
+import org.apache.beam.runners.core.construction.PTransformTranslation.TransformPayloadTranslator;
+import org.apache.beam.sdk.common.runner.v1.RunnerApi;
+import org.apache.beam.sdk.common.runner.v1.RunnerApi.FunctionSpec;
+import org.apache.beam.sdk.runners.AppliedPTransform;
+import org.apache.beam.sdk.transforms.Flatten;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.transforms.windowing.Window.Assign;
+
+/**
+ * Utility methods for translating a {@link Assign} to and from {@link RunnerApi} representations.
+ */
+public class FlattenTranslator implements TransformPayloadTranslator<Flatten.PCollections<?>>
{
+
+  public static TransformPayloadTranslator create() {
+    return new FlattenTranslator();
+  }
+
+  private FlattenTranslator() {}
+
+  @Override
+  public String getUrn(Flatten.PCollections<?> transform) {
+    return PTransformTranslation.FLATTEN_TRANSFORM_URN;
+  }
+
+  @Override
+  public FunctionSpec translate(
+      AppliedPTransform<?, ?, Flatten.PCollections<?>> transform, SdkComponents
components) {
+    return RunnerApi.FunctionSpec.newBuilder().setUrn(getUrn(transform.getTransform())).build();
+  }
+
+  /** Registers {@link FlattenTranslator}. */
+  @AutoService(TransformPayloadTranslatorRegistrar.class)
+  public static class Registrar implements TransformPayloadTranslatorRegistrar {
+    @Override
+    public Map<? extends Class<? extends PTransform>, ? extends TransformPayloadTranslator>
+        getTransformPayloadTranslators() {
+      return Collections.singletonMap(Flatten.PCollections.class, new FlattenTranslator());
+    }
+  }
+}


Mime
View raw message