Search in sources :

Example 1 with CombinePlanNode

use of com.linkedin.pinot.core.plan.CombinePlanNode in project pinot by linkedin.

the class InstancePlanMakerImplV2 method makeInterSegmentPlan.

@Override
public Plan makeInterSegmentPlan(List<SegmentDataManager> segmentDataManagers, BrokerRequest brokerRequest, ExecutorService executorService, long timeOutMs) {
    // TODO: pass in List<IndexSegment> directly.
    List<IndexSegment> indexSegments = new ArrayList<>(segmentDataManagers.size());
    for (SegmentDataManager segmentDataManager : segmentDataManagers) {
        indexSegments.add(segmentDataManager.getSegment());
    }
    BrokerRequestPreProcessor.preProcess(indexSegments, brokerRequest);
    List<PlanNode> planNodes = new ArrayList<>();
    for (IndexSegment indexSegment : indexSegments) {
        planNodes.add(makeInnerSegmentPlan(indexSegment, brokerRequest));
    }
    CombinePlanNode combinePlanNode = new CombinePlanNode(planNodes, brokerRequest, executorService, timeOutMs);
    return new GlobalPlanImplV0(new InstanceResponsePlanNode(combinePlanNode));
}
Also used : SegmentDataManager(com.linkedin.pinot.core.data.manager.offline.SegmentDataManager) AggregationPlanNode(com.linkedin.pinot.core.plan.AggregationPlanNode) SelectionPlanNode(com.linkedin.pinot.core.plan.SelectionPlanNode) PlanNode(com.linkedin.pinot.core.plan.PlanNode) AggregationGroupByPlanNode(com.linkedin.pinot.core.plan.AggregationGroupByPlanNode) CombinePlanNode(com.linkedin.pinot.core.plan.CombinePlanNode) InstanceResponsePlanNode(com.linkedin.pinot.core.plan.InstanceResponsePlanNode) IndexSegment(com.linkedin.pinot.core.indexsegment.IndexSegment) ArrayList(java.util.ArrayList) InstanceResponsePlanNode(com.linkedin.pinot.core.plan.InstanceResponsePlanNode) CombinePlanNode(com.linkedin.pinot.core.plan.CombinePlanNode) GlobalPlanImplV0(com.linkedin.pinot.core.plan.GlobalPlanImplV0)

Aggregations

SegmentDataManager (com.linkedin.pinot.core.data.manager.offline.SegmentDataManager)1 IndexSegment (com.linkedin.pinot.core.indexsegment.IndexSegment)1 AggregationGroupByPlanNode (com.linkedin.pinot.core.plan.AggregationGroupByPlanNode)1 AggregationPlanNode (com.linkedin.pinot.core.plan.AggregationPlanNode)1 CombinePlanNode (com.linkedin.pinot.core.plan.CombinePlanNode)1 GlobalPlanImplV0 (com.linkedin.pinot.core.plan.GlobalPlanImplV0)1 InstanceResponsePlanNode (com.linkedin.pinot.core.plan.InstanceResponsePlanNode)1 PlanNode (com.linkedin.pinot.core.plan.PlanNode)1 SelectionPlanNode (com.linkedin.pinot.core.plan.SelectionPlanNode)1 ArrayList (java.util.ArrayList)1