go/ directory

Directories

PathSynopsis
go/cmd
go/cmd/beamctlbeamctl is a command line client for the Apache Beam portability services.
go/cmd/beamctl/cmdPackage cmd contains the commands for beamctl.
go/cmd/prismprism is a stand alone local Beam Runner.
go/cmd/specializespecialize is a low-level tool to generate type-specialized code.
go/cmd/starcgenstarcgen is a tool to generate specialized type assertion shims to be used in Apache Beam Go SDK pipelines instead of the default reflection shim.
go/cmd/symtabPackage verifies that functions sym2addr and addr2sym work correctly.
go/container
go/container/poolPackage pool facilitates a external worker service, as an alternate mode for the standard Beam container.
go/container/toolsPackage tools contains utilities for Beam bootloader containers, such as for obtaining runtime provision information -- such as pipeline options.
go/examples
go/examples/complete
go/examples/complete/autocomplete
go/examples/contains
go/examples/cookbook
go/examples/cookbook/combine
go/examples/cookbook/filter
go/examples/cookbook/join
go/examples/cookbook/max
go/examples/cookbook/tornadoestornadoes is an example that reads the public samples of weather data from BigQuery, counts the number of tornadoes that occur in each month, and writes the results to BigQuery.
go/examples/debugging_wordcountdebugging_wordcount is an example that verifies word counts in Shakespeare and includes Beam best practices.
go/examples/fhirio
go/examples/fhirio/importimport is a pipeline example using the fhirio connector to bulk import FHIR resources from GCS into a given FHIR store.
go/examples/fhirio/read_write_pubsubread_write_pubsub is a pipeline example using the fhirio connector to read FHIR resources from GCS, write them to a GCP FHIR store, and, if a PubSub topic is provided, read the written resources from the FHIR store and log them based on the PubSub notifications about store updates.
go/examples/forestforest is an example that shows that pipeline construction is normal Go code -- the pipeline "forest" is created recursively and uses a global variable -- and that a pipeline may contain non-connected parts.
go/examples/grades
go/examples/kafkataxi is an example using a cross-language Kafka pipeline to write and read to Kafka.
go/examples/large_wordcountlarge_wordcount is an example that demonstrates a more complex version of a wordcount pipeline.
go/examples/minimal_wordcountminimal_wordcount is an example that counts words in King Lear, by William Shakespeare.
go/examples/multioutmultiout is a wordcount variation that uses a multi-outout DoFn and writes 2 output files.
go/examples/native_wordcapnative_wordcap is a toy streaming pipeline that uses PubSub.
go/examples/native_wordcap/nativepubsubioPackage nativepubsubio contains a Golang implementation of streaming reads and writes to PubSub.
go/examples/pingpong
go/examples/readavroreadavro is a simple Avro read/write Example This example uses a 500 Byte sample avro file [twitter.avro] download here: https://s3-eu-west-1.amazonaws.com/daidokoro-dev/apache/twitter.avro
go/examples/slowly_updating_side_inputslowly_updating_side_input is an example pipeline demonstrating the pattern described at https://beam.apache.org/documentation/patterns/side-inputs/.
go/examples/snippetsPackage snippets contains code used in the Beam Programming Guide as examples for the Apache Beam Go SDK.
go/examples/streaming_wordcapstreaming_wordcap is a toy streaming pipeline that uses PubSub.
go/examples/stringsplitAn example of using a Splittable DoFn in the Go SDK with a portable runner.
go/examples/timer_wordcaptimer_wordcap is a toy streaming pipeline that demonstrates the use of State and Timers.
go/examples/wasmwasm is a simple example that loads and executes a wasm file function.
go/examples/windowed_wordcountwindowed_wordcount counts words in text, and can run over either unbounded or bounded input collections.
go/examples/wordcountwordcount is an example that counts words in Shakespeare and demonstrates Beam best practices.
go/examples/xlangPackage xlang contains functionality for testing cross-language transforms.
go/examples/xlang/bigqueryWordcount is an example using cross-language BigQuery transforms to read and write to BigQuery.
go/examples/xlang/cogroup_bycogroup_by exemplifies using a cross-language cogroup by key transform from a test expansion service.
go/examples/xlang/combinecombine exemplifies using a cross-language combine per key transform from a test expansion service.
go/examples/xlang/combine_globallycombine_globally exemplifies using a cross-language combine global transform from a test expansion service.
go/examples/xlang/flatten
go/examples/xlang/group_bygroup_by exemplifies using a cross-language group by key transform from a test expansion service.
go/examples/xlang/multi_input_outputmulti exemplifies using a cross-language transform with multiple inputs and outputs from a test expansion service.
go/examples/xlang/partitionpartition exemplifies using a cross-language partition transform from a test expansion service.
go/examples/xlang/sqlPrerequisites to run sql: –> [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.
go/examples/xlang/wordcountwordcount exemplifies using a cross-language Count transform from a test expansion service to count words.
go/examples/yatzyyatzy is an implementation of https://en.wikipedia.org/wiki/Yatzy that shows that pipeline construction is normal Go code.
go/pkg
go/pkg/beamPackage beam is an implementation of the Apache Beam (https://beam.apache.org) programming model in Go.
go/pkg/beam/artifactPackage artifact contains utilities for staging and retrieving artifacts.
go/pkg/beam/artifact/gcsproxyPackage gcsproxy contains artifact staging and retrieval servers backed by GCS.
go/pkg/beam/corePackage core contains constants and other static data related to the SDK, such as the SDK Name and version.
go/pkg/beam/core/funcxPackage funcx contains functions and types used to perform type analysis of Beam functions.
go/pkg/beam/core/graphPackage graph is the internal representation of the Beam execution plan.
go/pkg/beam/core/graph/coderPackage coder contains coder representation and utilities.
go/pkg/beam/core/graph/coder/testutilPackage testutil contains helpers to test and validate custom Beam Schema coders.
go/pkg/beam/core/graph/mtimePackage mtime contains a millisecond representation of time.
go/pkg/beam/core/graph/windowPackage window contains window representation, windowing strategies and utilities.
go/pkg/beam/core/graph/window/triggerPackage trigger helps construct aggregation triggers with beam.WindowInto.
go/pkg/beam/core/metricsPackage metrics implements the Beam metrics API, described at http://s.apache.org/beam-metrics-api
go/pkg/beam/core/runtimePackage runtime contains runtime hooks and utilities for pipeline options and type registration.
go/pkg/beam/core/runtime/coderxPackage coderx contains coders for primitive types that aren't included in the beam model.
go/pkg/beam/core/runtime/contextregPackage contextreg contains the global registrations of functions for extracting ptransform annotations or environment resource hints from context.Context attached to scopes.
go/pkg/beam/core/runtime/execPackage exec contains runtime plan representation and execution.
go/pkg/beam/core/runtime/exec/optimizedPackage optimized contains type-specialized shims for faster execution.
go/pkg/beam/core/runtime/genxPackage genx is a convenience package to better support the code generator.
go/pkg/beam/core/runtime/graphxPackage graphx provides facilities to help with the serialization of pipelines into a serializable graph structure suitable for the worker.
go/pkg/beam/core/runtime/graphx/schemaPackage schema contains utility functions for relating Go types and Beam Schemas.
go/pkg/beam/core/runtime/graphx/v1
go/pkg/beam/core/runtime/harnessPackage harness implements the SDK side of the Beam FnAPI.
go/pkg/beam/core/runtime/harness/initPackage init contains the harness initialization code defined by the FnAPI.
go/pkg/beam/core/runtime/harness/statecachePackage statecache implements the state caching feature described by the Beam Fn API
go/pkg/beam/core/runtime/metricsx
go/pkg/beam/core/runtime/pipelinexPackage pipelinex contains utilities for manipulating Beam proto pipelines.
go/pkg/beam/core/runtime/xlangxPackage xlangx contains various low-level utilities needed for adding cross-language transforms to the pipeline.
go/pkg/beam/core/runtime/xlangx/expansionxPackage expansionx contains utilities for starting expansion services for cross-language transforms.
go/pkg/beam/core/sdfPackage contains interfaces used specifically for splittable DoFns.
go/pkg/beam/core/statePackage state contains structs for reading and manipulating pipeline state.
go/pkg/beam/core/timersPackage timers contains structs for setting pipeline timers.
go/pkg/beam/core/typexPackage typex contains full type representation for PCollections and DoFns, and utilities for type checking.
go/pkg/beam/core/util
go/pkg/beam/core/util/dotPackage dot produces DOT graphs from Beam graph representations.
go/pkg/beam/core/util/hooksPackage hooks allows runners to tailor execution of the worker harness.
go/pkg/beam/core/util/ioutilxPackage ioutilx contains additional io utilities.
go/pkg/beam/core/util/jsonxPackage jsonx contains utilities for working with JSON encoded data.
go/pkg/beam/core/util/protoxPackage protox contains utilities for working with protobufs.
go/pkg/beam/core/util/reflectxPackage reflectx contains a set of reflection utilities and well-known types.
go/pkg/beam/core/util/symtabPackage symtab allows reading low-level symbol information from the symbol table.
go/pkg/beam/internal
go/pkg/beam/io
go/pkg/beam/io/avroioPackage avroio contains transforms for reading and writing avro files.
go/pkg/beam/io/bigqueryioPackage bigqueryio provides transformations and utilities to interact with Google BigQuery.
go/pkg/beam/io/bigtableioPackage bigtableio provides transformations and utilities to interact with Google Bigtable.
go/pkg/beam/io/databaseioPackage databaseio provides transformations and utilities to interact with generic database database/sql API.
go/pkg/beam/io/datastoreioPackage datastoreio provides transformations and utilities to interact with Google Datastore.
go/pkg/beam/io/fhirioPackage fhirio provides an API for reading and writing resources to Google Cloud Healthcare Fhir stores.
go/pkg/beam/io/fileioPackage fileio provides transforms for matching and reading files.
go/pkg/beam/io/filesystemPackage filesystem contains an extensible file system abstraction.
go/pkg/beam/io/filesystem/gcsPackage gcs contains a Google Cloud Storage (GCS) implementation of the Beam file system.
go/pkg/beam/io/filesystem/localPackage local contains a local file implementation of the Beam file system.
go/pkg/beam/io/filesystem/memfsPackage memfs contains a in-memory Beam filesystem.
go/pkg/beam/io/filesystem/s3Package s3 contains an AWS S3 implementation of the Beam file system.
go/pkg/beam/io/mongodbioPackage mongodbio contains transforms for reading from and writing to MongoDB.
go/pkg/beam/io/natsioPackage natsio contains transforms for interacting with NATS.
go/pkg/beam/io/parquetioPackage parquetio contains transforms for reading and writing parquet files
go/pkg/beam/io/pubsubioPackage pubsubio provides access to Pub/Sub on Dataflow streaming.
go/pkg/beam/io/rtrackers
go/pkg/beam/io/rtrackers/offsetrangePackage offsetrange defines a restriction and restriction tracker for offset ranges.
go/pkg/beam/io/spannerioPackage spannerio provides an API for reading and writing resouces to Google Spanner datastores.
go/pkg/beam/io/syntheticPackage synthetic contains transforms for creating synthetic pipelines.
go/pkg/beam/io/textioPackage textio contains transforms for reading and writing text files.
go/pkg/beam/io/xlang
go/pkg/beam/io/xlang/bigqueryioPackage bigqueryio contains cross-language functionality for using Google Cloud BigQuery (https://cloud.google.com/bigquery).
go/pkg/beam/io/xlang/bigtableioPackage bigtableio contains cross-language functionality for using Google Cloud BigQuery (https://cloud.google.com/bigquery).
go/pkg/beam/io/xlang/debeziumioPackage debeziumio contains cross-language functionality for using Debezium (http://kafka.apache.org/).
go/pkg/beam/io/xlang/jdbcioPackage jdbcio contains cross-language functionality for reading and writing data to JDBC.
go/pkg/beam/io/xlang/kafkaioPackage kafkaio contains cross-language functionality for using Apache Kafka (http://kafka.apache.org/).
go/pkg/beam/io/xlang/schemaioPackage schemaio contains utilities for constructing cross-language IO wrappers meant to interface with the Java SDK's Schema IOs.
go/pkg/beam/logPackage log contains a re-targetable context-aware logging system.
go/pkg/beam/modelPackage model contains the portable Beam model contracts.
go/pkg/beam/model/fnexecution_v1
go/pkg/beam/model/jobmanagement_v1
go/pkg/beam/model/pipeline_v1
go/pkg/beam/options
go/pkg/beam/options/gcpoptsPackage gcpopts contains shared options for Google Cloud Platform.
go/pkg/beam/options/joboptsPackage jobopts contains shared options for job submission.
go/pkg/beam/options/resourcePackage resource supports Beam resource hints to specify scoped hints or annotations to pipelines.
go/pkg/beam/provisionPackage provision contains utilities for obtaining runtime provision, information -- such as pipeline options.
go/pkg/beam/registerPackage register contains functions for registering and optimizing your DoFn.
go/pkg/beam/runnersPackage runners defines the common "--runner" flag.
go/pkg/beam/runners/dataflowPackage dataflow contains the Dataflow runner for submitting pipelines to Google Cloud Dataflow.
go/pkg/beam/runners/dataflow/dataflowlibPackage dataflowlib translates a Beam pipeline model to the Dataflow API job model, for submission to Google Cloud Dataflow.
go/pkg/beam/runners/directPackage direct contains the direct runner for running single-bundle pipelines in the current process.
go/pkg/beam/runners/dotPackage dot is a Beam runner that "runs" a pipeline by producing a DOT graph of the execution plan.
go/pkg/beam/runners/flinkPackage flink contains the Flink runner.
go/pkg/beam/runners/prismPackage prism contains a local runner for running pipelines in the current process.
go/pkg/beam/runners/prism/internalPackage internal is where the less separable parts of the runner are put together in order to execute pipelines, and validate that beam features are implemented, and configured appropriately for the variant a pipeline is using.
go/pkg/beam/runners/samzaPackage samza contains the Samza runner.
go/pkg/beam/runners/sparkPackage spark contains the Spark runner.
go/pkg/beam/runners/universalPackage universal contains a general-purpose runner that can submit jobs to any portable Beam runner.
go/pkg/beam/runners/universal/extworkerPackage extworker provides an external worker service and related utilities.
go/pkg/beam/runners/universal/runnerlibPackage runnerlib contains utilities for submitting Go pipelines to a Beam model runner.
go/pkg/beam/runners/vetPackage vet is a Beam runner that "runs" a pipeline by producing generated code to avoid symbol table lookups and reflection in pipeline execution.
go/pkg/beam/runners/vet/testpipelinePackage testpipeline exports small test pipelines for testing the vet runner.
go/pkg/beam/testing
go/pkg/beam/testing/passertPackage passert contains verification transformations for testing pipelines.
go/pkg/beam/testing/ptestPackage ptest contains utilities for pipeline unit testing.
go/pkg/beam/testing/teststreamPackage teststream contains code configuring the TestStream primitive for use in testing code that is meant to be run on streaming data sources.
go/pkg/beam/transforms
go/pkg/beam/transforms/filterPackage filter contains transformations for removing pipeline elements based on various conditions.
go/pkg/beam/transforms/periodicPackage periodic contains transformations for generating periodic sequences.
go/pkg/beam/transforms/sqlPackage sql contains SQL transform APIs, allowing SQL queries to be used in Beam Go pipelines.
go/pkg/beam/transforms/sql/sqlxPackage sqlx contains "internal" SQL transform interfaces that are needed by the SQL expansion providers.
go/pkg/beam/transforms/statsPackage stats contains transforms for statistical processing.
go/pkg/beam/transforms/topPackage top contains transformations for finding the smallest (or largest) N elements based on arbitrary orderings.
go/pkg/beam/transforms/xlangPackage xlang contains cross-language transforms.
go/pkg/beam/transforms/xlang/dataframePackage dataframe is a wrapper for DataframeTransform defined in Apache Beam Python SDK.
go/pkg/beam/transforms/xlang/inferencePackage inference has the cross language implementation of RunInference API implemented in Python SDK.
go/pkg/beam/transforms/xlang/pythonPackage python contains data structures required for python external transforms in a multilanguage pipeline.
go/pkg/beam/transforms/xlang/schemaPackage schema has the cross language implementation for calling schema transforms in other language SDKs.
go/pkg/beam/util
go/pkg/beam/util/diagnosticsPackage diagnostics is a beam internal package that contains code for writing and uploading diagnostic info (e.g.
go/pkg/beam/util/errorxPackage errorx contains utilities for handling errors.
go/pkg/beam/util/execxPackage execx contains wrappers and utilities for the exec package.
go/pkg/beam/util/fsxPackage fsx contains utilities for working with filesystems.
go/pkg/beam/util/gcsxPackage gcsx contains utilities for working with Google Cloud Storage (GCS).
go/pkg/beam/util/grpcxPackage grpcx contains utilities for working with gRPC.
go/pkg/beam/util/harnessoptsPackage harnessopts defines user-facing entrypoints into Beam hooks affecting the SDK harness.
go/pkg/beam/util/pubsubxPackage pubsubx contains utilities for working with Google PubSub.
go/pkg/beam/util/shimxPackage shimx specifies the templates for generating type assertion shims for Apache Beam Go SDK pipelines.
go/pkg/beam/util/starcgenxPackage starcgenx is a Static Analysis Type Assertion shim and Registration Code Generator which provides an extractor to extract types from a package, in order to generate appropriate shims for a package so code can be generated for it.
go/pkg/beam/util/structxPackage structx provides utilities for working with structs.
go/pkg/beam/util/syscallxPackage syscallx provides system call utilities that attempt to hide platform differences.
go/pkg/beam/x
go/pkg/beam/x/beamxPackage beamx is a convenience package for beam.
go/pkg/beam/x/debugPackage debug contains pipeline components that may help in debugging pipeline issues.
go/pkg/beam/x/hooks
go/pkg/beam/x/hooks/perfPackage perf is to add performance measuring hooks to a runner, such as cpu, heap, or trace profiles.
go/test
go/test/integrationPackage integration provides functionality that needs to be shared between all integration tests.
go/test/integration/internal
go/test/integration/io
go/test/integration/io/bigqueryio
go/test/integration/io/fhirio
go/test/integration/io/mongodbio
go/test/integration/io/spannerio
go/test/integration/io/xlang
go/test/integration/io/xlang/bigqueryPackage bigquery contains integration tests for cross-language BigQuery IO transforms.
go/test/integration/io/xlang/bigtablePackage bigtable contains integration tests for cross-language Bigtable IO transforms.
go/test/integration/io/xlang/debeziumPackage debezium contains integration tests for cross-language Debezium IO transforms.
go/test/integration/io/xlang/jdbcPackage jdbc contains integration tests for cross-language JDBC IO transforms.
go/test/integration/io/xlang/kafkaPackage kafka contains integration tests for cross-language Kafka IO transforms.
go/test/integration/primitivesPackage primitives contains integration tests for primitives in beam.
go/test/integration/syntheticPackage synthetic contains pipelines for testing synthetic steps and sources.
go/test/integration/transforms
go/test/integration/transforms/xlang
go/test/integration/transforms/xlang/dataframe
go/test/integration/transforms/xlang/inference
go/test/integration/wordcountPackage wordcount contains transforms for wordcount.
go/test/integration/xlangPackage xlang contains integration tests for cross-language transforms.
go/test/load
go/test/load/cogbk
go/test/load/combine
go/test/load/group_by_key
go/test/load/pardo
go/test/load/sideinput
go/test/regressionPackage regression contains pipeline regression tests.
go/test/regression/coders
go/test/regression/coders/fromyamlfromyaml generates a resource file from the standard_coders.yaml file for use in these coder regression tests.
Version
v2.65.0 (latest)
Published
May 6, 2025
Platform
linux/amd64
Last checked
18 hours ago

Tools for package owners.