Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Drill >> mail # dev >> Re: Review Request 18372: Hive UDFs in Drill


Copy link to this message
-
Re: Review Request 18372: Hive UDFs in Drill

This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18372/

(Updated March 20, 2014, 5:04 p.m.)
Review request for drill, Jacques Nadeau and Jinfeng Ni.
Changes

Rebased the patch to latest master.
Converter ObjectInspectors and ObjectInspectorHelper into freemarker/CodeModel codegen.
Repository: drill-git
Description

Currently works with simple UDFs that implement GenericUDF and UDF interfaces. Not all column types are supported currently. Supported types are BIT, all INTs, FLOAT4/8, VARCHAR/VAR16CHAR. This patch also removes the FunctionDefnitions (and related code) and uses FunctionHolder for function resolution.

There are few tests failing. Currently debugging those. Will update the patch once the failures are resolved.

github branch: https://github.com/vkorukanti/incubator-drill/commits/func-rb
Diffs (updated)

  common/src/main/antlr3/org/apache/drill/common/expression/parser/ExprParser.g b5cf292
  common/src/main/java/org/apache/drill/common/expression/Arg.java 0dd47ff
  common/src/main/java/org/apache/drill/common/expression/ArgumentValidator.java 18456b5
  common/src/main/java/org/apache/drill/common/expression/ArgumentValidators.java da46645
  common/src/main/java/org/apache/drill/common/expression/BasicArgumentValidator.java f6c94d9
  common/src/main/java/org/apache/drill/common/expression/CallProvider.java 2339261
  common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java 69dd9b3
  common/src/main/java/org/apache/drill/common/expression/ExpressionValidator.java 076c150
  common/src/main/java/org/apache/drill/common/expression/FunctionCall.java e3ed4c5
  common/src/main/java/org/apache/drill/common/expression/FunctionCallFactory.java PRE-CREATION
  common/src/main/java/org/apache/drill/common/expression/FunctionDefinition.java f9e408b
  common/src/main/java/org/apache/drill/common/expression/FunctionHolderExpression.java PRE-CREATION
  common/src/main/java/org/apache/drill/common/expression/FunctionInstance.java cda49e9
  common/src/main/java/org/apache/drill/common/expression/FunctionRegistry.java 7cb386a
  common/src/main/java/org/apache/drill/common/expression/LogicalExpression.java 70c2617
  common/src/main/java/org/apache/drill/common/expression/NoArgValidator.java eaabfeb
  common/src/main/java/org/apache/drill/common/expression/fn/AggregationFunctions.java 5b46b78
  common/src/main/java/org/apache/drill/common/expression/fn/BooleanFunctions.java f21b750
  common/src/main/java/org/apache/drill/common/expression/fn/CastFunctionDefs.java 4be3820
  common/src/main/java/org/apache/drill/common/expression/fn/CastFunctions.java PRE-CREATION
  common/src/main/java/org/apache/drill/common/expression/fn/MathFunctions.java e1d3390
  common/src/main/java/org/apache/drill/common/expression/fn/StringFunctions.java 1158115
  common/src/main/java/org/apache/drill/common/expression/fn/TypeFunctions.java 23ca87c
  common/src/main/java/org/apache/drill/common/expression/fn/UnaryFunctions.java 0a678fd
  common/src/main/java/org/apache/drill/common/expression/visitors/AbstractExprVisitor.java 469cedd
  common/src/main/java/org/apache/drill/common/expression/visitors/AggregateChecker.java 36e6a52
  common/src/main/java/org/apache/drill/common/expression/visitors/ConstantChecker.java a951a60
  common/src/main/java/org/apache/drill/common/expression/visitors/ExprVisitor.java 87d146a
  common/src/main/java/org/apache/drill/common/expression/visitors/SimpleExprVisitor.java 71266f7
  common/src/test/java/org/apache/drill/common/expression/parser/TreeTest.java 6833b69
  contrib/storage-hive/src/main/resources/drill-module.conf PRE-CREATION
  exec/java-exec/src/main/codegen/config.fmpp fcf1f4d
  exec/java-exec/src/main/codegen/data/HiveTypes.tdd PRE-CREATION
  exec/java-exec/src/main/codegen/templates/CastFunctions.java af32a27
  exec/java-exec/src/main/codegen/templates/CastFunctionsSrcVarLen.java 5855381
  exec/java-exec/src/main/codegen/templates/CastFunctionsSrcVarLenTargetVarLen.java 8594d5a
  exec/java-exec/src/main/codegen/templates/CastFunctionsTargetVarLen.java c864e72
  exec/java-exec/src/main/codegen/templates/ComparisonFunctions.java ba9da07
  exec/java-exec/src/main/codegen/templates/MathFunctionTemplates.java 9ec2178
  exec/java-exec/src/main/codegen/templates/MathFunctions.java c683261
  exec/java-exec/src/main/codegen/templates/ObjectInspectorHelper.java PRE-CREATION
  exec/java-exec/src/main/codegen/templates/ObjectInspectors.java PRE-CREATION
  exec/java-exec/src/main/java/org/apache/drill/exec/compile/sig/ConstantExpressionIdentifier.java 83a5e6f
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/DrillFuncHolderExpr.java PRE-CREATION
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/EvaluationVisitor.java cac47b3
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/ExpressionTreeMaterializer.java c0f34f4
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/HiveFuncHolderExpr.java PRE-CREATION
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/ImplicitCastBuilder.java 99c26f3
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/annotations/FunctionTemplate.java 2208e53
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillAggFuncHolder.java 5f1e358
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFuncHolder.java d1619b2
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionImplementationRegistry.java PRE-CREATION
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.java de847df
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionConverter.java 3145240
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java 93f1992
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/HiveFuncHolder.java PRE-CREATION
  exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/HiveFunctio