org.apache.hadoop.hive.ql.exec.vector.expressions
Class VectorExpression
java.lang.Object
org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- AbstractFilterStringColLikeStringScalar, CastDecimalToDecimal, CastDoubleToBooleanViaDoubleToLong, CastDoubleToLong, CastDoubleToTimestampViaDoubleToLong, CastLongToBooleanViaLongToLong, CastLongToDate, CastLongToDouble, CastLongToTimestampViaLongToLong, CastStringToDate, CastStringToDecimal, CastTimestampToDoubleViaLongToDouble, CastTimestampToLongViaLongToLong, ColAndCol, ColOrCol, ConstantVectorExpression, DecimalColAddDecimalColumn, DecimalColAddDecimalScalar, DecimalColDivideDecimalColumn, DecimalColDivideDecimalScalar, DecimalColModuloDecimalColumn, DecimalColModuloDecimalScalar, DecimalColMultiplyDecimalColumn, DecimalColMultiplyDecimalScalar, DecimalColSubtractDecimalColumn, DecimalColSubtractDecimalScalar, DecimalColumnInList, DecimalScalarAddDecimalColumn, DecimalScalarDivideDecimalColumn, DecimalScalarModuloDecimalColumn, DecimalScalarMultiplyDecimalColumn, DecimalScalarSubtractDecimalColumn, DecimalToStringUnaryUDF, DoubleColAddDoubleColumn, DoubleColAddDoubleScalar, DoubleColAddLongColumn, DoubleColAddLongScalar, DoubleColDivideDoubleColumn, DoubleColDivideDoubleScalar, DoubleColDivideLongColumn, DoubleColDivideLongScalar, DoubleColEqualDoubleColumn, DoubleColEqualDoubleScalar, DoubleColEqualLongColumn, DoubleColEqualLongScalar, DoubleColGreaterDoubleColumn, DoubleColGreaterDoubleScalar, DoubleColGreaterEqualDoubleColumn, DoubleColGreaterEqualDoubleScalar, DoubleColGreaterEqualLongColumn, DoubleColGreaterEqualLongScalar, DoubleColGreaterLongColumn, DoubleColGreaterLongScalar, DoubleColLessDoubleColumn, DoubleColLessDoubleScalar, DoubleColLessEqualDoubleColumn, DoubleColLessEqualDoubleScalar, DoubleColLessEqualLongColumn, DoubleColLessEqualLongScalar, DoubleColLessLongColumn, DoubleColLessLongScalar, DoubleColModuloDoubleColumn, DoubleColModuloDoubleScalar, DoubleColModuloLongColumn, DoubleColModuloLongScalar, DoubleColMultiplyDoubleColumn, DoubleColMultiplyDoubleScalar, DoubleColMultiplyLongColumn, DoubleColMultiplyLongScalar, DoubleColNotEqualDoubleColumn, DoubleColNotEqualDoubleScalar, DoubleColNotEqualLongColumn, DoubleColNotEqualLongScalar, DoubleColSubtractDoubleColumn, DoubleColSubtractDoubleScalar, DoubleColSubtractLongColumn, DoubleColSubtractLongScalar, DoubleColumnInList, DoubleColUnaryMinus, DoubleScalarAddDoubleColumn, DoubleScalarAddLongColumn, DoubleScalarDivideDoubleColumn, DoubleScalarDivideLongColumn, DoubleScalarEqualDoubleColumn, DoubleScalarEqualLongColumn, DoubleScalarGreaterDoubleColumn, DoubleScalarGreaterEqualDoubleColumn, DoubleScalarGreaterEqualLongColumn, DoubleScalarGreaterLongColumn, DoubleScalarLessDoubleColumn, DoubleScalarLessEqualDoubleColumn, DoubleScalarLessEqualLongColumn, DoubleScalarLessLongColumn, DoubleScalarModuloDoubleColumn, DoubleScalarModuloLongColumn, DoubleScalarMultiplyDoubleColumn, DoubleScalarMultiplyLongColumn, DoubleScalarNotEqualDoubleColumn, DoubleScalarNotEqualLongColumn, DoubleScalarSubtractDoubleColumn, DoubleScalarSubtractLongColumn, FilterColAndScalar, FilterColOrScalar, FilterDecimalColEqualDecimalColumn, FilterDecimalColEqualDecimalScalar, FilterDecimalColGreaterDecimalColumn, FilterDecimalColGreaterDecimalScalar, FilterDecimalColGreaterEqualDecimalColumn, FilterDecimalColGreaterEqualDecimalScalar, FilterDecimalColLessDecimalColumn, FilterDecimalColLessDecimalScalar, FilterDecimalColLessEqualDecimalColumn, FilterDecimalColLessEqualDecimalScalar, FilterDecimalColNotEqualDecimalColumn, FilterDecimalColNotEqualDecimalScalar, FilterDecimalColumnBetween, FilterDecimalColumnInList, FilterDecimalColumnNotBetween, FilterDecimalScalarEqualDecimalColumn, FilterDecimalScalarGreaterDecimalColumn, FilterDecimalScalarGreaterEqualDecimalColumn, FilterDecimalScalarLessDecimalColumn, FilterDecimalScalarLessEqualDecimalColumn, FilterDecimalScalarNotEqualDecimalColumn, FilterDoubleColEqualDoubleColumn, FilterDoubleColEqualDoubleScalar, FilterDoubleColEqualLongColumn, FilterDoubleColEqualLongScalar, FilterDoubleColGreaterDoubleColumn, FilterDoubleColGreaterDoubleScalar, FilterDoubleColGreaterEqualDoubleColumn, FilterDoubleColGreaterEqualDoubleScalar, FilterDoubleColGreaterEqualLongColumn, FilterDoubleColGreaterEqualLongScalar, FilterDoubleColGreaterLongColumn, FilterDoubleColGreaterLongScalar, FilterDoubleColLessDoubleColumn, FilterDoubleColLessDoubleScalar, FilterDoubleColLessEqualDoubleColumn, FilterDoubleColLessEqualDoubleScalar, FilterDoubleColLessEqualLongColumn, FilterDoubleColLessEqualLongScalar, FilterDoubleColLessLongColumn, FilterDoubleColLessLongScalar, FilterDoubleColNotEqualDoubleColumn, FilterDoubleColNotEqualDoubleScalar, FilterDoubleColNotEqualLongColumn, FilterDoubleColNotEqualLongScalar, FilterDoubleColumnBetween, FilterDoubleColumnInList, FilterDoubleColumnNotBetween, FilterDoubleScalarEqualDoubleColumn, FilterDoubleScalarEqualLongColumn, FilterDoubleScalarGreaterDoubleColumn, FilterDoubleScalarGreaterEqualDoubleColumn, FilterDoubleScalarGreaterEqualLongColumn, FilterDoubleScalarGreaterLongColumn, FilterDoubleScalarLessDoubleColumn, FilterDoubleScalarLessEqualDoubleColumn, FilterDoubleScalarLessEqualLongColumn, FilterDoubleScalarLessLongColumn, FilterDoubleScalarNotEqualDoubleColumn, FilterDoubleScalarNotEqualLongColumn, FilterExprAndExpr, FilterExprOrExpr, FilterLongColEqualDoubleColumn, FilterLongColEqualDoubleScalar, FilterLongColEqualLongColumn, FilterLongColEqualLongScalar, FilterLongColGreaterDoubleColumn, FilterLongColGreaterDoubleScalar, FilterLongColGreaterEqualDoubleColumn, FilterLongColGreaterEqualDoubleScalar, FilterLongColGreaterEqualLongColumn, FilterLongColGreaterEqualLongScalar, FilterLongColGreaterLongColumn, FilterLongColGreaterLongScalar, FilterLongColLessDoubleColumn, FilterLongColLessDoubleScalar, FilterLongColLessEqualDoubleColumn, FilterLongColLessEqualDoubleScalar, FilterLongColLessEqualLongColumn, FilterLongColLessEqualLongScalar, FilterLongColLessLongColumn, FilterLongColLessLongScalar, FilterLongColNotEqualDoubleColumn, FilterLongColNotEqualDoubleScalar, FilterLongColNotEqualLongColumn, FilterLongColNotEqualLongScalar, FilterLongColumnBetween, FilterLongColumnInList, FilterLongColumnNotBetween, FilterLongScalarEqualDoubleColumn, FilterLongScalarEqualLongColumn, FilterLongScalarGreaterDoubleColumn, FilterLongScalarGreaterEqualDoubleColumn, FilterLongScalarGreaterEqualLongColumn, FilterLongScalarGreaterLongColumn, FilterLongScalarLessDoubleColumn, FilterLongScalarLessEqualDoubleColumn, FilterLongScalarLessEqualLongColumn, FilterLongScalarLessLongColumn, FilterLongScalarNotEqualDoubleColumn, FilterLongScalarNotEqualLongColumn, FilterScalarAndColumn, FilterScalarOrColumn, FilterStringColEqualStringColumn, FilterStringColEqualStringScalar, FilterStringColGreaterEqualStringColumn, FilterStringColGreaterEqualStringScalar, FilterStringColGreaterStringColumn, FilterStringColGreaterStringScalar, FilterStringColLessEqualStringColumn, FilterStringColLessEqualStringScalar, FilterStringColLessStringColumn, FilterStringColLessStringScalar, FilterStringColNotEqualStringColumn, FilterStringColNotEqualStringScalar, FilterStringColumnBetween, FilterStringColumnInList, FilterStringColumnNotBetween, FilterStringScalarEqualStringColumn, FilterStringScalarGreaterEqualStringColumn, FilterStringScalarGreaterStringColumn, FilterStringScalarLessEqualStringColumn, FilterStringScalarLessStringColumn, FilterStringScalarNotEqualStringColumn, FuncAbsDecimalToDecimal, FuncAbsDoubleToDouble, FuncAbsLongToLong, FuncACosDoubleToDouble, FuncACosLongToDouble, FuncASinDoubleToDouble, FuncASinLongToDouble, FuncATanDoubleToDouble, FuncATanLongToDouble, FuncCeilDecimalToDecimal, FuncCeilDoubleToLong, FuncCeilLongToLong, FuncCosDoubleToDouble, FuncCosLongToDouble, FuncDecimalToDouble, FuncDecimalToLong, FuncDegreesDoubleToDouble, FuncDegreesLongToDouble, FuncDoubleToDecimal, FuncExpDoubleToDouble, FuncExpLongToDouble, FuncFloorDecimalToDecimal, FuncFloorDoubleToLong, FuncFloorLongToLong, FuncLnDoubleToDouble, FuncLnLongToDouble, FuncLog10DoubleToDouble, FuncLog10LongToDouble, FuncLog2DoubleToDouble, FuncLog2LongToDouble, FuncLongToDecimal, FuncLongToString, FuncNegateDecimalToDecimal, FuncRadiansDoubleToDouble, FuncRadiansLongToDouble, FuncRand, FuncRandNoSeed, FuncRoundDecimalToDecimal, FuncRoundDoubleToDouble, FuncRoundWithNumDigitsDecimalToDecimal, FuncSignDecimalToLong, FuncSignDoubleToDouble, FuncSignLongToDouble, FuncSinDoubleToDouble, FuncSinLongToDouble, FuncSqrtDoubleToDouble, FuncSqrtLongToDouble, FuncTanDoubleToDouble, FuncTanLongToDouble, IdentityExpression, IfExprDoubleColumnDoubleColumn, IfExprDoubleColumnDoubleScalar, IfExprDoubleColumnLongScalar, IfExprDoubleScalarDoubleColumn, IfExprDoubleScalarDoubleScalar, IfExprDoubleScalarLongColumn, IfExprDoubleScalarLongScalar, IfExprLongColumnDoubleScalar, IfExprLongColumnLongColumn, IfExprLongColumnLongScalar, IfExprLongScalarDoubleColumn, IfExprLongScalarDoubleScalar, IfExprLongScalarLongColumn, IfExprLongScalarLongScalar, IfExprStringColumnStringColumn, IfExprStringColumnStringScalar, IfExprStringScalarStringColumn, IfExprStringScalarStringScalar, IsNotNull, IsNull, LongColAddDoubleColumn, LongColAddDoubleScalar, LongColAddLongColumn, LongColAddLongScalar, LongColDivideDoubleColumn, LongColDivideDoubleScalar, LongColDivideLongColumn, LongColDivideLongScalar, LongColEqualDoubleColumn, LongColEqualDoubleScalar, LongColEqualLongColumn, LongColEqualLongScalar, LongColGreaterDoubleColumn, LongColGreaterDoubleScalar, LongColGreaterEqualDoubleColumn, LongColGreaterEqualDoubleScalar, LongColGreaterEqualLongColumn, LongColGreaterEqualLongScalar, LongColGreaterLongColumn, LongColGreaterLongScalar, LongColLessDoubleColumn, LongColLessDoubleScalar, LongColLessEqualDoubleColumn, LongColLessEqualDoubleScalar, LongColLessEqualLongColumn, LongColLessEqualLongScalar, LongColLessLongColumn, LongColLessLongScalar, LongColModuloDoubleColumn, LongColModuloDoubleScalar, LongColModuloLongColumn, LongColModuloLongScalar, LongColMultiplyDoubleColumn, LongColMultiplyDoubleScalar, LongColMultiplyLongColumn, LongColMultiplyLongScalar, LongColNotEqualDoubleColumn, LongColNotEqualDoubleScalar, LongColNotEqualLongColumn, LongColNotEqualLongScalar, LongColSubtractDoubleColumn, LongColSubtractDoubleScalar, LongColSubtractLongColumn, LongColSubtractLongScalar, LongColumnInList, LongColUnaryMinus, LongScalarAddDoubleColumn, LongScalarAddLongColumn, LongScalarDivideDoubleColumn, LongScalarDivideLongColumn, LongScalarEqualDoubleColumn, LongScalarEqualLongColumn, LongScalarGreaterDoubleColumn, LongScalarGreaterEqualDoubleColumn, LongScalarGreaterEqualLongColumn, LongScalarGreaterLongColumn, LongScalarLessDoubleColumn, LongScalarLessEqualDoubleColumn, LongScalarLessEqualLongColumn, LongScalarLessLongColumn, LongScalarModuloDoubleColumn, LongScalarModuloLongColumn, LongScalarMultiplyDoubleColumn, LongScalarMultiplyLongColumn, LongScalarNotEqualDoubleColumn, LongScalarNotEqualLongColumn, LongScalarSubtractDoubleColumn, LongScalarSubtractLongColumn, LongToStringUnaryUDF, MathFuncDoubleToDouble, MathFuncLongToDouble, MathFuncLongToLong, NotCol, SelectColumnIsFalse, SelectColumnIsNotNull, SelectColumnIsNull, SelectColumnIsTrue, StringColEqualStringColumn, StringColEqualStringScalar, StringColGreaterEqualStringColumn, StringColGreaterEqualStringScalar, StringColGreaterStringColumn, StringColGreaterStringScalar, StringColLessEqualStringColumn, StringColLessEqualStringScalar, StringColLessStringColumn, StringColLessStringScalar, StringColNotEqualStringColumn, StringColNotEqualStringScalar, StringColumnInList, StringConcatColCol, StringConcatColScalar, StringConcatScalarCol, StringLength, StringScalarEqualStringColumn, StringScalarGreaterEqualStringColumn, StringScalarGreaterStringColumn, StringScalarLessEqualStringColumn, StringScalarLessStringColumn, StringScalarNotEqualStringColumn, StringSubstrColStart, StringSubstrColStartLen, StringUnaryUDF, StringUnaryUDFDirect, VectorCoalesce, VectorUDFAdaptor, VectorUDFDateAddColCol, VectorUDFDateAddColScalar, VectorUDFDateAddScalarCol, VectorUDFDateDiffColCol, VectorUDFDateDiffColScalar, VectorUDFDateDiffScalarCol, VectorUDFTimestampFieldLong, VectorUDFTimestampFieldString
public abstract class VectorExpression
- extends Object
- implements Serializable
Base class for expressions.
- See Also:
- Serialized Form
childExpressions
protected VectorExpression[] childExpressions
- Child expressions are evaluated post order.
inputTypes
protected VectorExpression.Type[] inputTypes
- More detailed input types, such as date and timestamp.
outputType
protected String outputType
- Output type of the expression.
VectorExpression
public VectorExpression()
evaluate
public abstract void evaluate(VectorizedRowBatch batch)
- This is the primary method to implement expression logic.
- Parameters:
batch -
getOutputColumn
public abstract int getOutputColumn()
- Returns the index of the output column in the array
of column vectors. If not applicable, -1 is returned.
- Returns:
- Index of the output column
getOutputType
public String getOutputType()
- Returns type of the output column.
setOutputType
public void setOutputType(String type)
- Set type of the output column.
setChildExpressions
public void setChildExpressions(VectorExpression[] ve)
- Initialize the child expressions.
getChildExpressions
public VectorExpression[] getChildExpressions()
getDescriptor
public abstract VectorExpressionDescriptor.Descriptor getDescriptor()
evaluateChildren
protected final void evaluateChildren(VectorizedRowBatch vrg)
- Evaluate the child expressions on the given input batch.
- Parameters:
vrg - VectorizedRowBatch
setInputTypes
public void setInputTypes(VectorExpression.Type... inputTypes)
- Set more detailed types to distinguish certain types that is represented in same
VectorExpressionDescriptor.ArgumentTypes. For example, date and
timestamp will be in LongColumnVector but they need to be
distinguished.
- Parameters:
inputTypes -
getInputTypes
public VectorExpression.Type[] getInputTypes()
toString
public String toString()
- Overrides:
toString in class Object
Copyright © 2014 The Apache Software Foundation. All rights reserved.