org.apache.hadoop.hive.ql.optimizer.unionproc
Class UnionProcFactory.UnionNoProcessFile
java.lang.Object
org.apache.hadoop.hive.ql.optimizer.unionproc.UnionProcFactory.UnionNoProcessFile
- All Implemented Interfaces:
- NodeProcessor
- Enclosing class:
- UnionProcFactory
public static class UnionProcFactory.UnionNoProcessFile
- extends Object
- implements NodeProcessor
Union followed by no processing.
This is to optimize queries of the type:
select * from (subq1 union all subq2 ...)x;
where at least one of the queries involve a map-reduce job.
There is no need for a union in this scenario - it involves an extra
write and read for the final output without this optimization.
Queries of the form:
select x.c1 from (subq1 union all subq2 ...)x where filter(x.c2);
can be transformed to:
select * from (subq1 where filter union all subq2 where filter ...)x;
and then optimized.
UnionProcFactory.UnionNoProcessFile
public UnionProcFactory.UnionNoProcessFile()
process
public Object process(Node nd,
Stack<Node> stack,
NodeProcessorCtx procCtx,
Object... nodeOutputs)
throws SemanticException
- Description copied from interface:
NodeProcessor
- Generic process for all ops that don't have specific implementations.
- Specified by:
process
in interface NodeProcessor
- Parameters:
nd
- operator to processprocCtx
- operator processor contextnodeOutputs
- A variable argument list of outputs from other nodes in the walk
- Returns:
- Object to be returned by the process call
- Throws:
SemanticException
Copyright © 2014 The Apache Software Foundation. All rights reserved.