Class PigTable

All Implemented Interfaces:
ScannableTable, Table, Wrapper

public class PigTable extends AbstractTable implements ScannableTable
A non-queriable table that contains only row type to represent a Pig Table. This table is used for constructing Calcite logical plan from Pig DAG.
  • Method Details

    • createRelOptTable

      public static RelOptTable createRelOptTable(RelOptSchema schema, RelDataType rowType, List<String> names)
      Creates a RelOptTable for a schema only table.
      Parameters:
      schema - Catalog object
      rowType - Relational schema for the table
      names - Names of Pig table
    • 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
      Overrides:
      getStatistic in class AbstractTable
    • 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