Aashish-Jha-11 opened a new pull request, #35876:
URL: https://github.com/apache/beam/pull/35876

   Fixes #35873
   
   ## Summary
   This PR implements a `Write` transform for the Go SDK's cross-language 
Bigtable package (`xlang/bigtableio`), bringing it to feature parity with the 
Bigtable I/O connectors in other Beam SDKs and providing a fully supported 
mechanism for writing data to Google Cloud Bigtable from Go pipelines.
   
   ## Changes Made
   - Implement `Write` function with cross-language support using Java 
`BigtableIO.Write`
   - Add `WriteOption` and `WriteExpansionAddr` for configuration
   - Use `beam:schematransform:org.apache.beam:bigtable_write:v1` URN
   - Follow same patterns as BigQuery xlang implementation
   - Reuse existing expansion service infrastructure
   - Update package documentation to include Write transform
   - Brings Go SDK to feature parity with other Beam SDKs for Bigtable writes
   
   ## Problem Solved
   Currently, Go developers who need to write to Bigtable are directed to use 
the community-supported `go/pkg/beam/io/bigtableio` package, which has 
limitations such as its internal use of `GroupByKey` on a global window that 
can cause streaming pipelines to stall indefinitely.
   
   This implementation provides a fully supported cross-language alternative 
that leverages the robust Java `BigtableIO.Write` transform, offering the same 
reliability and features available to Java developers.
   
   ## Testing
   - Package builds successfully
   - All imports resolve correctly  
   - Implementation follows established xlang patterns
   - Consistent with existing BigQuery xlang implementation
   
   ## Usage Example
   ```go
   import "github.com/apache/beam/sdks/v2/go/pkg/beam/io/xlang/bigtableio"
   
   // Write rows to Bigtable
   rows := beam.CreateList(s, []bigtableio.Row{sampleRow})
   bigtableio.Write(s, "project-id", "instance-id", "table-id", rows)
   
   // With custom expansion service
   bigtableio.Write(s, "project-id", "instance-id", "table-id", rows,
       bigtableio.WriteExpansionAddr("localhost:8080"))


-- 
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: github-unsubscr...@beam.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to