Class BigtableSource

java.lang.Object
io.github.flink.gcp.connector.bigtable.source.BigtableSource

@Public public final class BigtableSource extends Object
Reads rows from a Cloud Bigtable table.

 Source<Order, ?, ?> source =
         BigtableSource.<Order>builder()
                 .table(TableDestination.of("my-project", "my-instance", "orders"))
                 .deserializer(myDeserializer)
                 .prefix("2026-08-")
                 .build();
 

The builder-returned source implements LineageVertexProvider. It reports the configured table with namespace bigtable://{project}/{instance}, name {table} and a gcp physical-resource facet. Ranges, filters and app profiles do not create separate datasets. Extraction calls no user schema and opens no client. The supported Flink 2.x versions extract the metadata automatically; Flink 1.20 supports direct inspection only.

The scan is bounded: the source reads the configured ranges and finishes. That is not the same as batch-only — a bounded source runs inside a streaming pipeline and simply ends, which is what makes reading a Bigtable table and joining it against an unbounded stream work.

  • Method Details

    • builder

      public static <T> BigtableSourceBuilder<T> builder()
      Returns a builder for a Bigtable scan source.
      Type Parameters:
      T - the record type produced
      Returns:
      the builder