lostluck commented on a change in pull request #15894: URL: https://github.com/apache/beam/pull/15894#discussion_r743905079
########## File path: website/www/site/content/en/blog/go-sdk-release.md ########## @@ -0,0 +1,161 @@ +--- +title: "Go SDK Exits Experimental in Apache Beam 2.33.0" +date: 2021-11-04 00:00:01 -0800 +categories: + - blog +authors: + - lostluck +--- +<!-- +Licensed 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. +--> + +Apache Beam’s latest release, version [2.33.0](/get-started/downloads/), is the first official release of the long experimental Go SDK. +Built with the [Go Programming Language](https://golang.org/), the Go SDK joins the Java and Python SDKs as the third implementation of the Beam programming model. + +<!--more--> + +## Using the new Go SDK. + +New users of the Go SDK can start using it in their Go programs by importing the main beam package: + +``` +import "github.com/apache/beam/sdks/v2/go/pkg/beam" +``` + +The next run of `go mod tidy` will fetch the latest stable version of the module. +Alternatively executing `go get github.com/apache/beam/sdks/v2/go/pkg/beam` will download it to the local module cache immeadiately, and add it to your `go.mod` file. + +Existing users of the experimental Go SDK need to update to new `v2` import paths to start using the latest versions of the SDK. +This is can be done by adding `v2` to the import paths, changing `github.com/apache/beam/sdks/go/`... to `github.com/apache/beam/sdks/v2/go/`... where applicable, and then running `go mod tidy`. + +Further documentation on using the SDK is available in the [Beam Programming Guide](/documentation/programming-guide/), and in the package [Go Doc](https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam). + +## Feature Support + +At time of writing, the Go SDK is currently "Batteries Not Included". +This means that there are gaps or edge cases in supported IOs and transforms. +That said, the core of the SDK enables a great deal of the Beam Model for +custom user use, supporting following features: + +* PTransforms + * Impulse + * Create + * ParDo with user DoFns + * Iterable side inputs + * Multiple output emitters + * Receive and return key-value pairs + * SplittableDoFns + * GroupByKey and CoGroupByKey + * CombineFns for use with Combine and CombinePerKey + * Flatten + * Partition + * Composite transforms + * Cross language transforms +* EventTime windowing Review comment: `beam.EventTime` is a special type value for beam event times. https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam#EventTime -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
