use of org.apache.hadoop.hive.ql.exec.MapredContext in project hive by apache.
the class VectorUDFAdaptor method init.
// Initialize transient fields. To be called after deserialization of other fields.
public void init() throws HiveException, UDFArgumentException {
genericUDF = expr.getGenericUDF();
deferredChildren = new GenericUDF.DeferredObject[expr.getChildren().size()];
childrenOIs = new ObjectInspector[expr.getChildren().size()];
writers = VectorExpressionWriterFactory.getExpressionWriters(expr.getChildren());
for (int i = 0; i < childrenOIs.length; i++) {
childrenOIs[i] = writers[i].getObjectInspector();
}
MapredContext context = MapredContext.get();
if (context != null) {
context.setup(genericUDF);
}
outputOI = VectorExpressionWriterFactory.genVectorExpressionWritable(expr).getObjectInspector();
genericUDF.initialize(childrenOIs);
// Initialize constant arguments
for (int i = 0; i < argDescs.length; i++) {
if (argDescs[i].isConstant()) {
argDescs[i].prepareConstant();
}
}
}
Aggregations