Apache Beam Go SDK

The Go SDK for Apache Beam provides a simple, powerful API for building both batch and streaming parallel data processing pipelines. It is based on the following design.

Unlike Java and Python, Go is a statically compiled language. This means worker binaries may need to be cross-compiled to execute on distributed runners.

Get Started with the Go SDK

Get started with the Beam Go SDK quickstart to set up your development environment and run an example pipeline. Then, read through the Beam programming guide to learn the basic concepts that apply to all SDKs in Beam.

See the godoc for more detailed information.


Version 2.32.0 is the last experimental release of the Go SDK. The Go SDK supports most Batch oriented features, and cross language transforms. It’s possible to write many kinds of transforms, but specific built in transforms may still be missing, or incomplete.

Requests for specific transforms may be filed to the go component in GitHub Issues. Contributions are welcome.