Interface BeamSqlTable

All Known Implementing Classes:
BaseBeamTable, BeamKafkaCSVTable, BeamKafkaTable, BeamPCollectionTable, BigtableTable, DataGeneratorTable, HCatalogTable, MongoDbTable, PayloadSerializerKafkaTable, SchemaBaseBeamTable, TestBoundedTable, TestTable, TestUnboundedTable, TextJsonTable, TextTable

public interface BeamSqlTable
This interface defines a Beam Sql Table.
  • Method Details

    • buildIOReader

      PCollection<Row> buildIOReader(PBegin begin)
      create a PCollection<Row> from source.
    • buildIOReader

      PCollection<Row> buildIOReader(PBegin begin, BeamSqlTableFilter filters, List<String> fieldNames)
      create a PCollection<Row> from source with predicate and/or project pushed-down.
    • buildIOWriter

      POutput buildIOWriter(PCollection<Row> input)
      create a IO.write() instance to write to target.
    • constructFilter

      BeamSqlTableFilter constructFilter(List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> filter)
      Generate an IO implementation of BeamSqlTableFilter for predicate push-down.
    • supportsProjects

      ProjectSupport supportsProjects()
      Whether project push-down is supported by the IO API.
    • isBounded

      Whether this table is bounded (known to be finite) or unbounded (may or may not be finite).
    • getSchema

      Schema getSchema()
      Get the schema info of the table.
    • getTableStatistics

      BeamTableStatistics getTableStatistics(PipelineOptions options)
      Estimates the number of rows or the rate for unbounded Tables. If it is not possible to estimate the row count or rate it will return BeamTableStatistics.BOUNDED_UNKNOWN.