Need a little more information to know for sure. Maybe post of gist of your UDF. Here are some key things for UDFs:
Jar file must include class files AND source files for udf. UDF class must be top level class or static inner class and have a no-arg constructor. UDF must be annotated with function template and use @Param and @Output values for input and output. @Param and @Outputs must be value holder types. References to external classes in UDF must use fully qualified names. All dependencies must be on classpath. On Sun, Mar 15, 2015 at 3:07 PM, Haofeng Tang <[email protected]> wrote: > I was able to follow the custom function articles to create new functions. > > However, when I tried to create my own test custom functions, where some > 3rd party libraries are needed, I wasn't able to get it to work. Here's my > test: > > -- Created class "MyClass" in drill-java-exec. Since there're string > operations in this class depending on maven project-A (a 3rd party > library), I added project-A in drill-java.exec dependency list; > -- Built drill; > -- Deployed the target apache-drill-0.8.0-SNAPSHOT.tar.gz; > -- Launched drill, and ran query "select MyClass(string_column) from > my_table" > > This gives me an error: > > >Query failed: Query stopped., Line 67, Column 58: No applicable > constructor/method found for actual parameters "java.lang.Object"; > candidates are: "public void > com.thf.test.Segment.setStart(com.thf.test.Point)" [ > 3deedeb2-42fa-4fa7-a8a7-4eb802451d58 on localhost:31010 ] > > >Error: exception while executing query: Failure while executing query. > (state=,code=0) > > where, both com.thf.test.Segment and com.thf.test.Point are classes from > project-A. > > Any idea of how to proceed? Suggestion would be appreciated. > > Regards >
