programmerloverun opened a new pull request, #10849:
URL: https://github.com/apache/seatunnel/pull/10849

   ## Purpose
   
     Closes #10847
   
     Add a native Google Cloud Bigtable connector supporting both Source (read) 
and
      Sink (write) operations.
   
     ## Changes
   
     ### New Module: `connector-google-bigtable`
   
     **Sink**
     - `BigtableSinkWriter`: batch writes via `BulkMutation`; configurable batch
     size, null mode (SKIP/EMPTY), row key composition (single/composite with
     delimiter), multi-column-family mapping, version column for cell timestamp
     - `BigtableSink` / `BigtableSinkFactory`: SPI registration, 
`schema_save_mode`
      / `data_save_mode` support
   
     **Source**
     - `BigtableSourceReader`: full table scan with row key range, timestamp 
range
     filter, max-versions filter, scan row limit
     - `BigtableSourceSplitEnumerator`: single split (full table or user-defined
     row key range)
     - `BigtableSource` / `BigtableSourceFactory`: SPI registration, bounded 
source
   
     **Shared**
     - `BigtableClient`: wraps `google-cloud-bigtable:2.39.1` Data v2 client;
     supports service account JSON credentials and Application Default 
Credentials
     (ADC)
     - `BigtableDeserializationFormat`: `ByteString` → `SeaTunnelRow` type 
mapping;
      numeric types as big-endian binary, string/date types as UTF-8 text
     - Full `SeaTunnelErrorCode` error code definitions
   
     ### Documentation
     - `docs/en/connectors/sink/GoogleBigtable.md`
     - `docs/en/connectors/source/GoogleBigtable.md`
     - `docs/zh/connectors/sink/GoogleBigtable.md`
     - `docs/zh/connectors/source/GoogleBigtable.md`
   
     ## Test
   
     - `BigtableSinkWriterTest`: batch flush on size threshold, flush on close,
     null field skip
     - `BigtableSourceSplitEnumeratorTest`: full range split, custom row key 
range
     split
     - All 5 unit tests pass; Spotless format check passes
   
     ## Known Limitations
   
     - `schema_save_mode=CREATE_SCHEMA_WHEN_NOT_EXIST`: table/column-family
     creation via Admin API is not yet implemented; users must create them 
manually
     - `data_save_mode=DROP_DATA`: table truncation via Admin API is not yet
     implemented
     - Source currently generates a single split (no parallel read); tablet
     boundary partitioning can be added in a follow-up
     - TTL must be configured at column-family level in Bigtable; per-cell TTL 
is
     not supported by the connector


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

Reply via email to