Interface RowGroupInfo
- All Known Implementing Classes:
RowGroupInfo.ByGroups,RowGroupInfo.MaxGroups,RowGroupInfo.MaxRows,RowGroupInfo.SingleGroup
public interface RowGroupInfo
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classSplits into RowGroups based on unique values withingroups, and optionally further splits (per uniquegroupsensuring that no group is larger thanmaxRows.static final classSplits evenly acrossnumRowGroupsRowGroupsstatic final classSplits evenly across a number of RowGroups, ensuring that no group is larger thanmaxRowsstatic enumKeeps all rows within a single RowGroupstatic interface -
Method Summary
Modifier and TypeMethodDescriptionstatic RowGroupInfoSplits each unique group into a number of RowGroups.static RowGroupInfoSplits each unique group into a number of RowGroups.static RowGroupInfoSplits each unique group into a RowGroup.static RowGroupInfoSplits each unique group into a RowGroup.static RowGroupInfomaxGroups(long numRowGroups) Split evenly into a pre-defined number of RowGroups, each of which contains the same number of rows as each other.static RowGroupInfomaxRows(long maxRows) Splits into a number of RowGroups, each of which has no more thanmaxRowsrows.static RowGroupInfoThe default RowGroupInfo implementation.<T> Twalk(@NotNull RowGroupInfo.Visitor<T> visitor)
-
Method Details
-
singleGroup
The default RowGroupInfo implementation. All data is within a single RowGroup- Returns:
- a
RowGroupInfowhich uses only a single RowGroup
-
maxGroups
Split evenly into a pre-defined number of RowGroups, each of which contains the same number of rows as each other. If the input table size is not evenly divisible by the number of RowGroups requested, then a number of RowGroups will contain 1 fewer row- Parameters:
numRowGroups- the number of RowGroups to write- Returns:
- A
RowGroupInfowhich splits the input into a pre-defined number of RowGroups
-
maxRows
Splits into a number of RowGroups, each of which has no more thanmaxRowsrows.- Parameters:
maxRows- the maximum number of rows in each RowGroup- Returns:
- a
RowGroupInfowhich splits the input into a number of RowGroups, each containing no more thanmaxRowsrows
-
byGroups
Splits each unique group into a RowGroup. If the input table does not have all values for the group(s) contiguously, then an exception will be thrown during thewriteTable(...)call- Parameters:
groups- Grouping column name(s)- Returns:
- a
RowGroupInfowhich includes a single RowGroup per unique grouping-value
-
byGroups
Splits each unique group into a RowGroup. If the input table does not have all values for the group(s) contiguously, then an exception will be thrown during thewriteTable(...)call- Parameters:
groups- Grouping column name(s)- Returns:
- a
RowGroupInfowhich includes a single RowGroup per unique grouping-value
-
byGroups
Splits each unique group into a number of RowGroups. If the input table does not have all values for the group(s) contiguously, then an exception will be thrown during thewriteTable(...)call. If a given RowGroup yields a row count greater thanmaxRows, then it will be split further usingmaxRows(long)- Parameters:
maxRows- the maximum number of rows in each RowGroupgroups- Grouping column name(s)- Returns:
- a
RowGroupInfowhich includes a number of RowGroups per unique grouping-value
-
byGroups
Splits each unique group into a number of RowGroups. If the input table does not have all values for the group(s) contiguously, then an exception will be thrown during thewriteTable(...)call. If a given RowGroup yields a row count greater thanmaxRows, then it will be split further usingmaxRows(long)- Parameters:
maxRows- the maximum number of rows in each RowGroupgroups- Grouping column name(s)- Returns:
- a
RowGroupInfowhich includes a number of RowGroups per unique grouping-value
-
walk
-