public class HiveFuncHolder extends AbstractFuncHolder
Constructor and Description |
---|
HiveFuncHolder(Class<? extends org.apache.hadoop.hive.ql.udf.generic.GenericUDF> genericUdfClazz,
TypeProtos.MajorType[] argTypes,
org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector returnOI,
TypeProtos.MajorType returnType,
boolean isRandom)
Create holder for GenericUDF
|
HiveFuncHolder(String udfName,
Class<? extends org.apache.hadoop.hive.ql.exec.UDF> udfClazz,
TypeProtos.MajorType[] argTypes,
org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector returnOI,
TypeProtos.MajorType returnType,
boolean isRandom)
Create holder for UDF
|
Modifier and Type | Method and Description |
---|---|
FunctionHolderExpression |
getExpr(String name,
List<LogicalExpression> args,
ExpressionPosition pos)
Return a reference to this function given a function alias and a
list of actual arguments.
|
int |
getParamCount()
Number of defined input parameters.
|
TypeProtos.MajorType |
getParamMajorType(int i)
Drill SQL type of an input parameter.
|
TypeProtos.MajorType |
getReturnType()
UDF return type
|
boolean |
isAggregating()
Aggregate function
|
boolean |
isRandom()
is the function non-deterministic?
|
ClassGenerator.HoldingContainer |
renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr)
Generate methods body and complete the code generation.
|
com.sun.codemodel.JVar[] |
renderStart(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference)
Start generating code
|
isComplexWriterFuncHolder, isNested, renderMiddle
public HiveFuncHolder(Class<? extends org.apache.hadoop.hive.ql.udf.generic.GenericUDF> genericUdfClazz, TypeProtos.MajorType[] argTypes, org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector returnOI, TypeProtos.MajorType returnType, boolean isRandom)
genericUdfClazz
- implementation classargTypes
- returnOI
- returnType
- public HiveFuncHolder(String udfName, Class<? extends org.apache.hadoop.hive.ql.exec.UDF> udfClazz, TypeProtos.MajorType[] argTypes, org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector returnOI, TypeProtos.MajorType returnType, boolean isRandom)
udfName
- name of the UDF classudfClazz
- UDF implementation classargTypes
- returnOI
- returnType
- public TypeProtos.MajorType getReturnType()
public boolean isAggregating()
public boolean isRandom()
public TypeProtos.MajorType getParamMajorType(int i)
FuncHolder
public int getParamCount()
FuncHolder
public com.sun.codemodel.JVar[] renderStart(ClassGenerator<?> g, ClassGenerator.HoldingContainer[] inputVariables, FieldReference fieldReference)
renderStart
in class AbstractFuncHolder
public ClassGenerator.HoldingContainer renderEnd(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr)
AbstractFuncHolder
renderEnd
in class AbstractFuncHolder
classGenerator
- the class responsible for code generationinputVariables
- the source of the vector holdersworkspaceJVars
- class fieldsholderExpr
- holder for the function expressionpublic FunctionHolderExpression getExpr(String name, List<LogicalExpression> args, ExpressionPosition pos)
FuncHolder
name
- alias used in this specific callargs
- expressions of the actual function argumentsCopyright © 1970 The Apache Software Foundation. All rights reserved.