BasePlanningContract |
No |
Abstract Class |
An abstract class that provides methods to support collaborative planning of queries. Provides methods to set/get properties of input and output data streams of a SQL-MapReduce function, query context and query reply. Also supports methods to get/set BYTEA objects that function can use to cache its data during planning on one vWorker and retrieve it during execution on all vWorkers. |
BasePlanningContract.CompletedContract |
No |
Abstract Static Class |
An abstract class that provides immutable description of the completed Planning Contract. Provides methods to get input and output properties of the data streams of a SQL-MapReduce function, query context information and query context reply. Also provides method to retrieve cached user data. |
CollaborativePlanning |
Yes |
Interface |
A SQL-MapReduce function intending to participate in collaborative planning must implement this interface and implement two methods of this interface:
- completePlanningContract()—Takes an incomplete PlanningContract as argument and returns a completed PlanningContract during planning of the query.
- receiveCompletdPlanningContract()—Takes a completed PlanningContract as an argument during execution of the query.
|
Distribution |
Yes |
Final Class |
Describes the distribution of data stream across vWorkers. |
Distribution.builder |
Yes |
Final Class |
Distribution.Builder objects are used to construct Distribution objects. |
Order |
Yes |
Class |
Describes the order of data stream. Consists of a list of OrderDefinitions. The order of the data stream is across partitions at a single vWorker. |
Order.Builder |
Yes |
Static Class |
Order.Builder objects are used to construct Order objects. |
OrderDefinition |
Yes |
Final Class |
Describes each column in the order property, whether the column is sorted in ascending or descending fashion and whether NULLs collate first. |
OrderLimit |
No |
Class |
Describes the limit and the order that must hold in order to apply the limit. |
OrderLimitBuilder |
No |
Static Final Class |
OrderLimit.Builder objects are used to construct OrderLimit objects. |
PlanInputInfo |
No |
Final Class |
Describes the properties of the data streams input to the SQL-MapReduce function. Provides methods to set/get distribution and order. |
PlanInputInfo.Builder |
No |
Static Final Class |
Constructs PlanInputInfo objects. Although the attributes of the Builder object may be modified, the PlanInputInfo constructed from it is immutable. |
PlanningContract |
No |
Final Class |
Extends the BasePlanningContract class. Provides methods to create an incomplete PlanningContract and to complete an incomplete PlanningContract. |
PlanningContract.CompletedContract |
No |
Static Final Class |
Provides immutable description of the completed PlanningContract. Extends BasePlanningContract.CompletedContract. |
PlanOutputInfo |
Yes |
Final Class |
Describes the properties of the data stream emitted by the SQL-MapReduce function. Provides methods to set/get distribution and order. |
PlanOutputInfo.Builder |
Yes |
Static Final Class |
Construct PlanOutputInfo objects. Although the attributes of the Builder object may be modified, the PlanOutputInfo constructed from it is immutable. |
OnOutputPredicate |
No |
Final Class |
This type of predicate will be applied on the output by the framework. The function must decide whether the predicate can be applied by the function or pushed to the input. This object is constructed by the SQL-analytic Framework. It should not be constructed by SQL-Analytic function implementations. |
ByFunctionPredicate |
Yes |
Final Class |
This type of predicate will be applied by the function itself. The predicate must be a simple constraint, consisting of a supported operator, and applied to at most a single column. This object is constructed by the SQL-analytic Framework. It should not be constructed by SQL-analytic function implementations. |
OnInputPredicate |
No |
Final Class |
This type of predicate will be applied on the input by the framework. The predicate can be either simple or complex (that is, deal with complex operators and multiple columns). This object is constructed by the SQL-analytic Framework. It should not be constructed by SQL-Analytic function implementations. |
QueryContextInfo |
No |
Final Class |
Describes the context of the query surrounding the SQL-MapReduce function. Provides methods to set/get output column projection, predicate application and application of limit. |
QueryContextInfo.Builder |
No |
Static FInal Class |
Construct QueryContextInfo objects. Although the attributes of the Builder object may be modified, the QueryContextInfo constructed from it is immutable. |
QueryContextReply |
Yes |
Final Class |
Describes the reply of the SQL-MapReduce function to the QueryContextInfo. Provides methods to set/get input column projection and predicate move-around. |
QueryContextReply.Builder |
Yes |
Static Final Class |
Construct QueryContextReply objects. Although the attributes of the Builder object may be modified, the QueryContextReply constructed from it is immutable. |