the example I gave you was incomplete, here is what I meant to send:
public class MyUDF {
@FunctionTemplate(name = „myaddints", scope = FunctionTemplate.
FunctionScope.SIMPLE, nulls = FunctionTemplate.NullHandling.NULL_IF_NULL)
public *static *class IntIntAdd implements DrillSimpleFunc {
...
}
}
On Thu, May 19, 2016 at 3:33 PM, Abdel Hakim Deneche <[email protected]>
wrote:
> Hey Julian,
>
> one more thing you could try out: declare the UDF as a static class inside
> another class:
>
> public class MyUDF {
>
> @FunctionTemplate(name = „myaddints", scope = FunctionTemplate.
> FunctionScope.SIMPLE, nulls = FunctionTemplate.NullHandling.
> NULL_IF_NULL)
> public class IntIntAdd implements DrillSimpleFunc {
> ...
> }
>
> }
>
> Take a look at the following page to see an examples of UDFs:
> http://drill.apache.org/docs/custom-function-interfaces/
>
> If this doesn't work check the drillbit log, it should print an error
> message when it's starting up if something's wrong with your UDF.
>
> Thanks
>
>
> On Thu, May 19, 2016 at 3:31 AM, Julian Feinauer <[email protected]>
> wrote:
>
>> Dear folks,
>>
>> I’m currently experimenting with user defined functions in drill but I’m
>> not able to get them to work on my drillbits.
>> I always get the error: Error: VALIDATION ERROR: From line 1, column 8 to
>> line 1, column 41: No match found for function signature myaddints(<ANY>,
>> <ANY>).
>>
>> I already went through all the tips I found in the mailing list.
>> The jar contains a drill-module.conf with the content:
>> drill.classpath.scanning.packages += "org.julian"
>> And the UDF is defined as:
>> package org.julian;
>>
>> import ...
>>
>> @FunctionTemplate(name = „myaddints", scope =
>> FunctionTemplate.FunctionScope.SIMPLE, nulls =
>> FunctionTemplate.NullHandling.NULL_IF_NULL)
>> public class IntIntAdd implements DrillSimpleFunc {
>>
>> @Param
>> IntHolder in1;
>>
>> @Param
>> IntHolder in2;
>>
>> @Output
>> IntHolder out;
>>
>> public void setup() {};
>>
>> public void eval() {
>> out.value = in1.value + in2.value;
>> }
>>
>> }
>> I tried to find the bug using the logs and encountered the following
>> messages from the drillbit.log:
>> Base Configuration:
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-common-1.6.0.jar!/drill-default.conf
>>
>> Intermediate Configuration and Plugin files, in order of precedence:
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-gis-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-logical-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-kudu-storage-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/3rdparty/drill-memory-base-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-hive-exec-shaded-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-memory-base-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-mongo-storage-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-java-exec-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-common-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-storage-hbase-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-jdbc-storage-1.6.0.jar!/drill-module.conf
>> -
>> jar:file:/usr/local/Cellar/apache-drill/1.6.0/libexec/jars/drill-storage-hive-core-1.6.0.jar!/drill-module.conf
>>
>> which let’s me think that my jar file (drillUDF-1.0-SNAPSHOT.jar) is not
>> scanned altough it is located in jars/3rdparty.
>>
>> Am I doing something wrong or am I missing something or has anyone a good
>> hint for me?
>>
>> Thank you already!
>> Julian
>
>
>
>
> --
>
> Abdelhakim Deneche
>
> Software Engineer
>
> <http://www.mapr.com/>
>
>
> Now Available - Free Hadoop On-Demand Training
> <http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available>
>
--
Abdelhakim Deneche
Software Engineer
<http://www.mapr.com/>
Now Available - Free Hadoop On-Demand Training
<http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available>