Class TableSliceGroup

    • Field Detail

      • SPLIT_STRING

        protected static final String SPLIT_STRING
        A string that is used internally as a delimiter in creating a column name from all the grouping columns
        See Also:
        Constant Field Values
    • Constructor Detail

      • TableSliceGroup

        protected TableSliceGroup​(Table original)
        Returns an instance for calculating a single summary for the given table, with no sub-groupings
      • TableSliceGroup

        protected TableSliceGroup​(Table sourceTable,
                                  String[] groupColumnNames)
        Returns an instance for calculating subgroups, one for each combination of the given groupColumnNames that appear in the source table
    • Method Detail

      • getSplitColumnNames

        protected String[] getSplitColumnNames()
        Returns the names of the columns the backing table was split on.
      • getByteSize

        protected int getByteSize​(List<Column<?>> columns)
        Returns the sum of the sizes for the columns in the given Column list
      • addSlice

        protected void addSlice​(TableSlice slice)
        Add a slice to this group
      • getSlices

        public List<TableSlice> getSlices()
        Returns the slices as a list
      • get

        public TableSlice get​(int i)
        Returns the ith slice in this group
      • getSourceTable

        public Table getSourceTable()
        Returns the table behind this slice group
      • size

        public int size()
        Returns the number of slices
      • aggregate

        public Table aggregate​(String colName1,
                               AggregateFunction<?,​?>... functions)
        Applies the given aggregation to the given column. The apply and combine steps of a split-apply-combine.
      • aggregate

        public Table aggregate​(com.google.common.collect.ListMultimap<String,​AggregateFunction<?,​?>> functions)
        Applies the given aggregations to the given columns. The apply and combine steps of a split-apply-combine.
        Parameters:
        functions - map from column name to aggregation to apply on that function
      • summaryTableName

        public static Table summaryTableName​(Table source)
        Returns the name of a summary table made by aggregating on the slices in this group
      • aggregateColumnName

        public static String aggregateColumnName​(String columnName,
                                                 String functionName)
        Returns a column name for aggregated data based on the given source column name and function
      • asTableList

        public List<Table> asTableList()
        Returns a list of Tables created by reifying my list of slices (views) over the original table
      • setSourceTable

        protected void setSourceTable​(Table sourceTable)
        Sets the source table that backs this TableSliceGroup