Hi Be sure you deploy on each nodes, 2 jars: - the jar containing the classes - the jar contains the sources
The POM.xml in the simple function examples contains the maven configuration to generate these 2 files, be sure you have the same in your project: https://github.com/tgrall/drill-simple-mask-function/blob/master/pom.xml#L24-L37 and you have restarted the drillbit Regards Tug @tgrall On Fri, May 20, 2016 at 12:34 AM, Abdel Hakim Deneche <adene...@maprtech.com > wrote: > 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 < > adene...@maprtech.com> > 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 <julian.feina...@web.de > > > > 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 > > >