Class KafkaStreamTable

java.lang.Object
org.apache.calcite.adapter.kafka.KafkaStreamTable
All Implemented Interfaces:
ScannableTable, StreamableTable, Table

public class KafkaStreamTable extends Object implements ScannableTable, StreamableTable
A table that maps to an Apache Kafka topic.

Currently only KafkaStreamTable is implemented as a STREAM table.

  • Method Details

    • scan

      public Enumerable<@Nullable Object[]> scan(DataContext root)
      Description copied from interface: ScannableTable
      Returns an enumerator over the rows in this Table. Each row is represented as an array of its column values.
      Specified by:
      scan in interface ScannableTable
    • getRowType

      public RelDataType getRowType(RelDataTypeFactory typeFactory)
      Description copied from interface: Table
      Returns this table's row type.

      This is a struct type whose fields describe the names and types of the columns in this table.

      The implementer must use the type factory provided. This ensures that the type is converted into a canonical form; other equal types in the same query will use the same object.

      Specified by:
      getRowType in interface Table
      Parameters:
      typeFactory - Type factory with which to create the type
      Returns:
      Row type
    • getStatistic

      public Statistic getStatistic()
      Description copied from interface: Table
      Returns a provider of statistics about this table.
      Specified by:
      getStatistic in interface Table
    • isRolledUp

      public boolean isRolledUp(String column)
      Description copied from interface: Table
      Determines whether the given column has been rolled up.
      Specified by:
      isRolledUp in interface Table
    • rolledUpColumnValidInsideAgg

      public boolean rolledUpColumnValidInsideAgg(String column, SqlCall call, @Nullable SqlNode parent, @Nullable CalciteConnectionConfig config)
      Description copied from interface: Table
      Determines whether the given rolled up column can be used inside the given aggregate function. You can assume that isRolledUp(column) is true.
      Specified by:
      rolledUpColumnValidInsideAgg in interface Table
      Parameters:
      column - The column name for which isRolledUp is true
      call - The aggregate call
      parent - Parent node of call in the SqlNode tree
      config - Config settings. May be null
      Returns:
      true iff the given aggregate call is valid
    • stream

      public Table stream()
      Description copied from interface: StreamableTable
      Returns an enumerator over the rows in this Table. Each row is represented as an array of its column values.
      Specified by:
      stream in interface StreamableTable
    • getJdbcTableType

      public Schema.TableType getJdbcTableType()
      Description copied from interface: Table
      Type of table.
      Specified by:
      getJdbcTableType in interface Table