Search in sources :

Example 1 with ProjectOperator

use of io.dingodb.exec.operator.ProjectOperator in project dingo by dingodb.

the class DingoJobVisitor method visit.

@Override
public Collection<Output> visit(@Nonnull DingoProject rel) {
    Collection<Output> inputs = dingo(rel.getInput()).accept(this);
    List<Output> outputs = new ArrayList<>(inputs.size());
    for (Output input : inputs) {
        Operator operator = new ProjectOperator(RexConverter.toString(rel.getProjects()), TupleSchema.fromRelDataType(rel.getInput().getRowType()));
        Task task = input.getTask();
        operator.setId(idGenerator.get());
        task.putOperator(operator);
        input.setLink(operator.getInput(0));
        operator.getSoleOutput().copyHint(input);
        outputs.addAll(operator.getOutputs());
    }
    return outputs;
}
Also used : SumUpOperator(io.dingodb.exec.operator.SumUpOperator) AggregateOperator(io.dingodb.exec.operator.AggregateOperator) SortOperator(io.dingodb.exec.operator.SortOperator) RootOperator(io.dingodb.exec.operator.RootOperator) PartScanOperator(io.dingodb.exec.operator.PartScanOperator) SendOperator(io.dingodb.exec.operator.SendOperator) ReceiveOperator(io.dingodb.exec.operator.ReceiveOperator) ProjectOperator(io.dingodb.exec.operator.ProjectOperator) ValuesOperator(io.dingodb.exec.operator.ValuesOperator) PartUpdateOperator(io.dingodb.exec.operator.PartUpdateOperator) ReduceOperator(io.dingodb.exec.operator.ReduceOperator) Operator(io.dingodb.exec.base.Operator) GetByKeysOperator(io.dingodb.exec.operator.GetByKeysOperator) PartitionOperator(io.dingodb.exec.operator.PartitionOperator) PartDeleteOperator(io.dingodb.exec.operator.PartDeleteOperator) PartInsertOperator(io.dingodb.exec.operator.PartInsertOperator) CoalesceOperator(io.dingodb.exec.operator.CoalesceOperator) Task(io.dingodb.exec.base.Task) ProjectOperator(io.dingodb.exec.operator.ProjectOperator) Output(io.dingodb.exec.base.Output) ArrayList(java.util.ArrayList)

Aggregations

Operator (io.dingodb.exec.base.Operator)1 Output (io.dingodb.exec.base.Output)1 Task (io.dingodb.exec.base.Task)1 AggregateOperator (io.dingodb.exec.operator.AggregateOperator)1 CoalesceOperator (io.dingodb.exec.operator.CoalesceOperator)1 GetByKeysOperator (io.dingodb.exec.operator.GetByKeysOperator)1 PartDeleteOperator (io.dingodb.exec.operator.PartDeleteOperator)1 PartInsertOperator (io.dingodb.exec.operator.PartInsertOperator)1 PartScanOperator (io.dingodb.exec.operator.PartScanOperator)1 PartUpdateOperator (io.dingodb.exec.operator.PartUpdateOperator)1 PartitionOperator (io.dingodb.exec.operator.PartitionOperator)1 ProjectOperator (io.dingodb.exec.operator.ProjectOperator)1 ReceiveOperator (io.dingodb.exec.operator.ReceiveOperator)1 ReduceOperator (io.dingodb.exec.operator.ReduceOperator)1 RootOperator (io.dingodb.exec.operator.RootOperator)1 SendOperator (io.dingodb.exec.operator.SendOperator)1 SortOperator (io.dingodb.exec.operator.SortOperator)1 SumUpOperator (io.dingodb.exec.operator.SumUpOperator)1 ValuesOperator (io.dingodb.exec.operator.ValuesOperator)1 ArrayList (java.util.ArrayList)1