...
Code Block |
---|
#PARSER PQL #PARALLELIZATION INTER_OPERATOR 4 AUTO true /// other possible definition of parameters for this keyword #PARALLELIZATION (=INTER_OPERATOR) (degree=4) (buffersize=AUTO) (optimization=true) #RUNQUERY windowBid = TIMEWINDOW({SIZE = [1, 'MINUTES'], advance = [1, 'SECONDS'] }, bid) windowAuction = TIMEWINDOW({SIZE = [10, 'MINUTES'], advance = [1, 'SECONDS'] }, auction) join = JOIN({PREDICATE = 'bid.bidder == auction.id'}, windowBid, windowAuction) |
...
Logical operator | Parallelization strategies | Description | Supported fragmentation types |
---|---|---|---|
JoinAO | JoinMultithreadedTransformationStrategyJoinTransformationStrategy | Uses an Hash-Fragmentation for both input streams. The fragmentation attributes are gathered from the join attributes. Note that only equals-predicates (which are concatenated with &&) are supported. The fragmented datastream is merged with an UNION Operator. | HashFragmentAO |
AggregateAO | AggregateMultithreadedTransformationStrategyNonGroupedAggregateTransformationStrategy
| Uses an RoundRobin or Shuffle Fragmentation for splitting the input datastream. This strategy works with partial aggregates and merges the datastream both with an union operator and an additional aggregate operator for merging the partial aggregates. This strategy works with and without grouping. Only aggregations with one input attribute are supported. | RoundRobinFragmentAO |
ShuffleFragmentAO | |||
GroupedAggregateMultithreadedTransformationStrategyGroupedAggregateTransformationStrategy | Uses a Hash-Fragmentation for the input stream. The fragmentation attributes are gathered from the grouping attributes. So this strategy only works if the aggregate operator has an grouping. The fragmented datastream is merged with an UNION Operator. | HashFragmentAO |
...