Dear Jacques,
Dear Abdel,

thanks for your kind help.

jar tf drillUDF-1.0-SNAPSHOT.jar returns:

META-INF/
META-INF/MANIFEST.MF
org/
org/apache/
org/apache/drill/
org/apache/drill/contrib/
org/apache/drill/contrib/function/
org/julian/
drill-module.conf
IntIntAdd.class
org/apache/drill/contrib/function/IntIntAdd.class
org/julian/IntIntAdd$myintadd.class
org/julian/IntIntAdd.class
org/julian/IntIntAdd.java
META-INF/maven/
META-INF/maven/julian.test/
META-INF/maven/julian.test/drillUDF/
META-INF/maven/julian.test/drillUDF/pom.xml
META-INF/maven/julian.test/drillUDF/pom.properties

And jar tf drillUDF-1.0-SNAPSHOT-sources.jar returns
META-INF/
META-INF/MANIFEST.MF
org/
org/apache/
org/apache/drill/
org/apache/drill/contrib/
org/apache/drill/contrib/function/
org/julian/
org/julian/IntIntAdd.java
drill-module.conf

so the drill-module.conf is in both roots.

@Abdel:
How or where can I share the jar files with you?

Best regards
Julian

> Am 20.05.2016 um 17:31 schrieb Jacques Nadeau <jacq...@dremio.com>:
> 
> Can you run  jar tf myudf.jar against your jar files? Since Drill is not
> detecting the jar file, we need to resolve that first. The
> drill-module.conf must be in the root of each jar file that should be
> included. Lets start by verifying that.
> 
> --
> Jacques Nadeau
> CTO and Co-Founder, Dremio
> 
> On Fri, May 20, 2016 at 6:08 AM, Julian Feinauer <julian.feina...@web.de>
> wrote:
> 
>> Dear all,
>> 
>> thank you very much for all your replies.
>> I tried everything but it is still not working.
>> 
>> 1. I copy both files (classes and sources) in the /jars/3rdparty directory
>> 2. I restarted the drillbit after this (I use only one drillbit and
>> drill-conf both running on my local machine)
>> 3. I changed the class to a static subclass
>> 4. I have the drill-module.conf in my ressources
>> 4. The error appears in the drillbit.log as soon as i call the udf because
>> it is not recognized by drill.
>> On startup drillbit.log states all the packages and jars that are scanned
>> and my custom jar is not listed there.
>> Therefore I think it is a problem with the class loader or something
>> related?
>> 
>> Could this be possible?
>> 
>> Greetings
>> Julian
>> 
>>> Am 20.05.2016 um 14:36 schrieb Tugdual Grall <tugd...@gmail.com>:
>>> 
>>> 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