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
> >
>

Reply via email to