Package org.apache.calcite.tools
Class PigRelBuilder
- java.lang.Object
-
- org.apache.calcite.tools.RelBuilder
-
- org.apache.calcite.tools.PigRelBuilder
-
public class PigRelBuilder extends RelBuilder
Extension toRelBuilder
for Pig relational operators.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PigRelBuilder.GroupOption
Option for performing group efficiently if data set is already sorted(package private) static interface
PigRelBuilder.Partitioner
Partitioner for group and join-
Nested classes/interfaces inherited from class org.apache.calcite.tools.RelBuilder
RelBuilder.AggCall, RelBuilder.GroupKey, RelBuilder.GroupKeyImpl
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
lastAlias
-
Fields inherited from class org.apache.calcite.tools.RelBuilder
cluster, relOptSchema
-
-
Constructor Summary
Constructors Modifier Constructor Description private
PigRelBuilder(Context context, RelOptCluster cluster, RelOptSchema relOptSchema)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RelBuilder
as(java.lang.String alias)
As super-class method, but also retains alias for naming of aggregates.static PigRelBuilder
create(FrameworkConfig config)
Creates a PigRelBuilder.PigRelBuilder
distinct(PigRelBuilder.Partitioner partitioner, int parallel)
Removes duplicate tuples in a relation.(package private) java.lang.String
getAlias()
PigRelBuilder
group(PigRelBuilder.GroupOption option, PigRelBuilder.Partitioner partitioner, int parallel, java.lang.Iterable<? extends RelBuilder.GroupKey> groupKeys)
PigRelBuilder
group(PigRelBuilder.GroupOption option, PigRelBuilder.Partitioner partitioner, int parallel, RelBuilder.GroupKey... groupKeys)
Groups the data in one or more relations.PigRelBuilder
load(java.lang.String path, RexNode loadFunction, RelDataType rowType)
Loads a data set.PigRelBuilder
scan(java.lang.Iterable<java.lang.String> tableNames)
Creates aTableScan
of the table with a given name.PigRelBuilder
scan(java.lang.String... tableNames)
Creates aTableScan
of the table with a given name.-
Methods inherited from class org.apache.calcite.tools.RelBuilder
aggregate, aggregate, aggregate, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, aggregateCall, alias, and, and, avg, avg, build, call, call, cast, cast, cast, clear, convert, count, count, count, count, countStar, desc, distinct, dot, dot, empty, equals, exchange, field, field, field, field, field, field, field, fields, fields, fields, fields, fields, fields, filter, filter, getRexBuilder, getTypeFactory, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, groupKey, intersect, intersect, isNotNull, isNull, join, join, join, join, join, limit, literal, match, max, max, min, min, minus, minus, not, notEquals, nullsFirst, nullsLast, or, or, patternAlter, patternAlter, patternConcat, patternConcat, patternExclude, patternField, patternPermute, patternPermute, patternQuantify, patternQuantify, peek, peek, peek, permute, project, project, project, project, projectNamed, projectPlus, projectPlus, proto, proto, push, pushAll, rename, semiJoin, semiJoin, shouldMergeProject, sort, sort, sort, sortExchange, sortLimit, sortLimit, sum, sum, toString, union, union, values, values, values, values, variable
-
-
-
-
Constructor Detail
-
PigRelBuilder
private PigRelBuilder(Context context, RelOptCluster cluster, RelOptSchema relOptSchema)
-
-
Method Detail
-
create
public static PigRelBuilder create(FrameworkConfig config)
Creates a PigRelBuilder.
-
scan
public PigRelBuilder scan(java.lang.String... tableNames)
Description copied from class:RelBuilder
Creates aTableScan
of the table with a given name.Throws if the table does not exist.
Returns this builder.
- Overrides:
scan
in classRelBuilder
- Parameters:
tableNames
- Name of table (can optionally be qualified)
-
scan
public PigRelBuilder scan(java.lang.Iterable<java.lang.String> tableNames)
Description copied from class:RelBuilder
Creates aTableScan
of the table with a given name.Throws if the table does not exist.
Returns this builder.
- Overrides:
scan
in classRelBuilder
- Parameters:
tableNames
- Name of table (can optionally be qualified)
-
load
public PigRelBuilder load(java.lang.String path, RexNode loadFunction, RelDataType rowType)
Loads a data set.Equivalent to Pig Latin:
LOAD 'path' USING loadFunction AS rowType
loadFunction
androwType
are optional.- Parameters:
path
- File pathloadFunction
- Load functionrowType
- Row type (what Pig calls 'schema')- Returns:
- This builder
-
distinct
public PigRelBuilder distinct(PigRelBuilder.Partitioner partitioner, int parallel)
Removes duplicate tuples in a relation.Equivalent Pig Latin:
alias = DISTINCT alias [PARTITION BY partitioner] [PARALLEL n];
- Parameters:
partitioner
- Partitioner; null means no partitionerparallel
- Degree of parallelism; negative means unspecified- Returns:
- This builder
-
group
public PigRelBuilder group(PigRelBuilder.GroupOption option, PigRelBuilder.Partitioner partitioner, int parallel, RelBuilder.GroupKey... groupKeys)
Groups the data in one or more relations.Pig Latin syntax:
alias = GROUP alias { ALL | BY expression } [, alias ALL | BY expression ...] [USING 'collected' | 'merge'] [PARTITION BY partitioner] [PARALLEL n];
- Parameters:
groupKeys
- One of more group keys; useRelBuilder.groupKey()
for ALLoption
- Whether to use an optimized method combining the data (COLLECTED for one input or MERGE for two or more inputs)partitioner
- Partitioner; null means no partitionerparallel
- Degree of parallelism; negative means unspecified- Returns:
- This builder
-
group
public PigRelBuilder group(PigRelBuilder.GroupOption option, PigRelBuilder.Partitioner partitioner, int parallel, java.lang.Iterable<? extends RelBuilder.GroupKey> groupKeys)
-
getAlias
java.lang.String getAlias()
-
as
public RelBuilder as(java.lang.String alias)
As super-class method, but also retains alias for naming of aggregates.- Overrides:
as
in classRelBuilder
-
-