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 Summary
Modifier and TypeMethodDescriptionbuildIOReader
(PBegin begin) create aPCollection<Row>
from source.buildIOReader
(PBegin begin, BeamSqlTableFilter filters, List<String> fieldNames) create aPCollection<Row>
from source with predicate and/or project pushed-down.buildIOWriter
(PCollection<Row> input) create aIO.write()
instance to write to target.constructFilter
(List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> filter) Generate an IO implementation ofBeamSqlTableFilter
for predicate push-down.Get the schema info of the table.getTableStatistics
(PipelineOptions options) Estimates the number of rows or the rate for unbounded Tables.Whether this table is bounded (known to be finite) or unbounded (may or may not be finite).Whether project push-down is supported by the IO API.
-
Method Details
-
buildIOReader
create aPCollection<Row>
from source. -
buildIOReader
create aPCollection<Row>
from source with predicate and/or project pushed-down. -
buildIOWriter
create aIO.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 ofBeamSqlTableFilter
for predicate push-down. -
supportsProjects
ProjectSupport supportsProjects()Whether project push-down is supported by the IO API. -
isBounded
PCollection.IsBounded 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
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.
-