org.apache.hadoop.hive.ql.optimizer.lineage
Class ExprProcFactory

java.lang.Object
  extended by org.apache.hadoop.hive.ql.optimizer.lineage.ExprProcFactory

public class ExprProcFactory
extends Object

Expression processor factory for lineage. Each processor is responsible to create the leaf level column info objects that the expression depends upon and also generates a string representation of the expression.


Nested Class Summary
static class ExprProcFactory.ColumnExprProcessor
          Processor for column expressions.
static class ExprProcFactory.DefaultExprProcessor
          Processor for constants and null expressions.
static class ExprProcFactory.GenericExprProcessor
          Processor for any function or field expression.
 
Constructor Summary
ExprProcFactory()
           
 
Method Summary
static NodeProcessor getColumnProcessor()
           
static NodeProcessor getDefaultExprProcessor()
           
static LineageInfo.Dependency getExprDependency(LineageCtx lctx, Operator<? extends OperatorDesc> inpOp, ExprNodeDesc expr)
          Gets the expression dependencies for the expression.
static NodeProcessor getFieldProcessor()
           
static NodeProcessor getGenericFuncProcessor()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprProcFactory

public ExprProcFactory()
Method Detail

getDefaultExprProcessor

public static NodeProcessor getDefaultExprProcessor()

getGenericFuncProcessor

public static NodeProcessor getGenericFuncProcessor()

getFieldProcessor

public static NodeProcessor getFieldProcessor()

getColumnProcessor

public static NodeProcessor getColumnProcessor()

getExprDependency

public static LineageInfo.Dependency getExprDependency(LineageCtx lctx,
                                                       Operator<? extends OperatorDesc> inpOp,
                                                       ExprNodeDesc expr)
                                                throws SemanticException
Gets the expression dependencies for the expression.

Parameters:
lctx - The lineage context containing the input operators dependencies.
inpOp - The input operator to the current operator.
expr - The expression that is being processed.
Throws:
SemanticException


Copyright © 2014 The Apache Software Foundation. All rights reserved.