pskevin commented on a change in pull request #12667:
URL: https://github.com/apache/beam/pull/12667#discussion_r475027721



##########
File path: sdks/go/examples/xlang/group_by/group_by.go
##########
@@ -0,0 +1,109 @@
+// 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.
+
+// group_by exemplifies using a cross-language group by key transform from a 
test expansion service.
+//
+// Prerequisites to run wordcount:
+// –> [Required] Job needs to be submitted to a portable runner 
(--runner=universal)
+// –> [Required] Endpoint of job service needs to be passed 
(--endpoint=<ip:port>)
+// –> [Required] Endpoint of expansion service needs to be passed 
(--expansion_addr=<ip:port>)
+// –> [Optional] Environment type can be LOOPBACK. Defaults to DOCKER. 
(--environment_type=LOOPBACK|DOCKER)
+package main
+
+import (
+       "fmt"
+       "reflect"
+       "sort"
+
+       "github.com/apache/beam/sdks/go/pkg/beam/core/util/reflectx"
+       "github.com/apache/beam/sdks/go/pkg/beam/testing/passert"
+
+       "context"
+       "flag"
+       "log"
+
+       "github.com/apache/beam/sdks/go/pkg/beam"
+       "github.com/apache/beam/sdks/go/pkg/beam/core/typex"
+
+       "github.com/apache/beam/sdks/go/pkg/beam/x/beamx"
+
+       // Imports to enable correct filesystem access and runner setup in 
LOOPBACK mode
+       _ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/gcs"
+       _ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/local"
+       _ "github.com/apache/beam/sdks/go/pkg/beam/runners/universal"
+)
+
+var (
+       expansionAddr = flag.String("expansion_addr", "", "Address of Expansion 
Service")
+)
+
+// formatFn is a DoFn that formats a word and its count as a string.
+func formatFn(w string, c []int) string {
+       sort.Ints(c)
+       return fmt.Sprintf("%v:%v", w, c)
+}
+
+// KV used to represent KV PCollection values
+type KV struct {
+       X string
+       Y int64
+}
+
+func getKV(kv KV, emit func(string, int64)) {
+       emit(kv.X, kv.Y)
+}
+
+func collectValues(key string, iter func(*int64) bool) (string, []int) {
+       var count int64
+       var values []int
+       for iter(&count) {
+               values = append(values, int(count))
+       }
+       return key, values
+}
+
+func init() {
+       beam.RegisterType(reflect.TypeOf((*KV)(nil)).Elem())
+       beam.RegisterFunction(formatFn)
+       beam.RegisterFunction(getKV)
+       beam.RegisterFunction(collectValues)
+

Review comment:
       Ack. Updated!

##########
File path: sdks/go/examples/xlang/multi_input_output/multi.go
##########
@@ -0,0 +1,79 @@
+// 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.
+
+// multi exemplifies using a cross-language transform with multiple inputs and
+// outputs from a test expansion service.
+//
+// Prerequisites to run wordcount:
+// –> [Required] Job needs to be submitted to a portable runner 
(--runner=universal)
+// –> [Required] Endpoint of job service needs to be passed 
(--endpoint=<ip:port>)
+// –> [Required] Endpoint of expansion service needs to be passed 
(--expansion_addr=<ip:port>)
+// –> [Optional] Environment type can be LOOPBACK. Defaults to DOCKER. 
(--environment_type=LOOPBACK|DOCKER)
+package main
+
+import (
+       "github.com/apache/beam/sdks/go/pkg/beam/core/util/reflectx"
+       "github.com/apache/beam/sdks/go/pkg/beam/testing/passert"
+
+       "context"
+       "flag"
+       "log"
+
+       "github.com/apache/beam/sdks/go/pkg/beam"
+       "github.com/apache/beam/sdks/go/pkg/beam/core/typex"
+
+       "github.com/apache/beam/sdks/go/pkg/beam/x/beamx"
+
+       // Imports to enable correct filesystem access and runner setup in 
LOOPBACK mode
+       _ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/gcs"
+       _ "github.com/apache/beam/sdks/go/pkg/beam/io/filesystem/local"
+       _ "github.com/apache/beam/sdks/go/pkg/beam/runners/universal"
+)
+
+var (
+       expansionAddr = flag.String("expansion_addr", "", "Address of Expansion 
Service")
+)
+
+func init() {

Review comment:
       Ack. Updated!




----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to