Search in sources :

Example 6 with HashJoinPrel

use of org.apache.drill.exec.planner.physical.HashJoinPrel in project drill by apache.

the class RuntimeFilterVisitor method visitJoin.

@Override
public Prel visitJoin(JoinPrel prel, Void value) throws RuntimeException {
    if (prel instanceof HashJoinPrel) {
        HashJoinPrel hashJoinPrel = (HashJoinPrel) prel;
        // Generate possible RuntimeFilterDef to the HashJoinPrel, identify the corresponding
        // probe side ScanPrel.
        RuntimeFilterDef runtimeFilterDef = generateRuntimeFilter(hashJoinPrel);
        hashJoinPrel.setRuntimeFilterDef(runtimeFilterDef);
    }
    return visitPrel(prel, value);
}
Also used : HashJoinPrel(org.apache.drill.exec.planner.physical.HashJoinPrel) RuntimeFilterDef(org.apache.drill.exec.work.filter.RuntimeFilterDef)

Aggregations

HashJoinPrel (org.apache.drill.exec.planner.physical.HashJoinPrel)6 RelNode (org.apache.calcite.rel.RelNode)4 RexNode (org.apache.calcite.rex.RexNode)2 RowKeyJoinPrel (org.apache.drill.exec.planner.physical.RowKeyJoinPrel)2 ArrayList (java.util.ArrayList)1 RelTraitSet (org.apache.calcite.plan.RelTraitSet)1 RelCollation (org.apache.calcite.rel.RelCollation)1 RelMetadataQuery (org.apache.calcite.rel.metadata.RelMetadataQuery)1 RelDataType (org.apache.calcite.rel.type.RelDataType)1 RelDataTypeFactory (org.apache.calcite.rel.type.RelDataTypeFactory)1 RelDataTypeField (org.apache.calcite.rel.type.RelDataTypeField)1 SchemaPath (org.apache.drill.common.expression.SchemaPath)1 DbGroupScan (org.apache.drill.exec.physical.base.DbGroupScan)1 IndexGroupScan (org.apache.drill.exec.physical.base.IndexGroupScan)1 DrillScanRel (org.apache.drill.exec.planner.logical.DrillScanRel)1 DrillDistributionTrait (org.apache.drill.exec.planner.physical.DrillDistributionTrait)1 FilterPrel (org.apache.drill.exec.planner.physical.FilterPrel)1 LateralJoinPrel (org.apache.drill.exec.planner.physical.LateralJoinPrel)1 ProjectPrel (org.apache.drill.exec.planner.physical.ProjectPrel)1 RuntimeFilterPrel (org.apache.drill.exec.planner.physical.RuntimeFilterPrel)1