Search in sources :

Example 1 with RuntimeFilterRouter

use of org.apache.drill.exec.work.filter.RuntimeFilterRouter in project drill by apache.

the class Foreman method runPhysicalPlan.

private void runPhysicalPlan(final PhysicalPlan plan, Pointer<String> textPlan) throws ExecutionSetupException {
    validatePlan(plan);
    queryRM.visitAbstractPlan(plan);
    final QueryWorkUnit work = getQueryWorkUnit(plan, queryRM);
    if (enableRuntimeFilter) {
        runtimeFilterRouter = new RuntimeFilterRouter(work, drillbitContext);
        runtimeFilterRouter.collectRuntimeFilterParallelAndControlInfo();
    }
    if (textPlan != null) {
        queryManager.setPlanText(textPlan.value);
    }
    queryRM.visitPhysicalPlan(work);
    queryRM.setCost(plan.totalCost());
    queryManager.setTotalCost(plan.totalCost());
    work.applyPlan(drillbitContext.getPlanReader());
    logWorkUnit(work);
    fragmentsRunner.setFragmentsInfo(work.getFragments(), work.getRootFragment(), work.getRootOperator());
    startQueryProcessing();
}
Also used : QueryWorkUnit(org.apache.drill.exec.work.QueryWorkUnit) RuntimeFilterRouter(org.apache.drill.exec.work.filter.RuntimeFilterRouter)

Aggregations

QueryWorkUnit (org.apache.drill.exec.work.QueryWorkUnit)1 RuntimeFilterRouter (org.apache.drill.exec.work.filter.RuntimeFilterRouter)1