Charles and Arina, Thank you for the help. I'm guessing I had 2 issues. 1. @Workspace annotation missing. Is this required? 2. the drill-module.conf. I had mine including the class, based on one of the examples I saw. The one you provided Charles, just had the java package.
I also moved the jars into the $DRILL_HOME/jars folder. Having the hyphen in the package has no effect. Thanks for the help. Joe On Sun, Nov 20, 2016 at 11:37 PM, Charles Givre <[email protected]> wrote: > Hi Joseph, > I’m not sure what I did exactly, but this works. One thing I found was > that my system didn’t seem to like the ‘-‘ character in the package name. > > > > > > > > On Nov 20, 2016, at 15:16, Joseph Swingle <[email protected]> wrote: > > Thanks Charles. > executing mvn clean package > > POM is attached. > > > On Sat, Nov 19, 2016 at 7:20 PM, Charles Givre <[email protected]> wrote: > >> Hi Joseph, >> Can you share your pom.xml? Also what command are you using to build >> your UDF? >> Thanks, >> — Charles >> >> >> > On Nov 18, 2016, at 14:44, Joseph Swingle <[email protected]> wrote: >> > >> > Hi Arina, >> > I apologize for not getting back to you sooner, and if this doesn't get >> > formatted properly. I just want to MD5 a string in a query. >> > I have pasted the java code for the function below. I included >> DRILL-4776 >> > in my initial question, because it pretty much summed up my frustration >> > trying to deploy this function. >> > >> > Here are the additional things I have done. >> > >> > 1. drill-module.conf. I have tried including in my jars. I have >> tried >> > including it empty in my jar, I have added to $DRILL/conf folder. >> > 2. I have both the classes and sources jars in $DRILL/jars. I have >> even >> > tried putting them in $DRILL/jars/3rdParty >> > 3. Source hasn't changed it is below. >> > >> > A simple query like this one: SELECT (`finish` - `start`) as >> > `taken`,`start`,finish, outcome, username, to_md5(queryText) >> > FROM drillprofiles.`default`.`drillbit_queries.json` limit 2; >> > >> > give following error: >> > Error: VALIDATION ERROR: From line 1, column 75 to line 1, column 91: No >> > match found for function signature to_md5(<ANY>) >> > >> > >> > @FunctionTemplate( name = "to_md5", scope = >> FunctionTemplate.FunctionScope. >> > SIMPLE, nulls = FunctionTemplate.NullHandling.NULL_IF_NULL) >> > >> > public class MD5MaskFunc implements DrillSimpleFunc { >> > >> > @Param >> > >> > NullableVarCharHolder input; >> > >> > @Output >> > >> > VarCharHolder out; >> > >> > @Inject >> > >> > DrillBuf buffer; >> > >> > HashFunction hashFunction; >> > >> > public void setup() { >> > >> > hashFunction = Hashing.md5(); >> > >> > } >> > >> > public void eval() { >> > >> > String stringValue = >> > org.apache.drill.exec.expr.fn.impl.StringFunctionHelpers.toS >> tringFromUTF8( >> > input.start, input.end, input.buffer); >> > >> > HashCode hashCode = hashFunction.hashString(stringValue, >> > StandardCharsets.UTF_8);//hashFunction.hashString(stringValue); >> > >> > String outputValue = hashCode.toString(); >> > >> > // put the output value in the out buffer >> > >> > out.buffer = buffer; >> > >> > out.start = 0; >> > >> > out.end = outputValue.getBytes().length; >> > >> > buffer.setBytes(0, outputValue.getBytes()); >> > >> > } >> > >> > } >> > >> > >> > >> > On Wed, Nov 9, 2016 at 11:09 AM, Arina Yelchiyeva < >> > [email protected]> wrote: >> > >> >> Hi Joseph, >> >> >> >> custom functions work should work fine in 1.8. At least I am not aware >> of >> >> any issues. >> >> Can you specify what problems with custom UDFs do you have? >> >> >> >> Kind regards >> >> Arina >> >> >> >> On Wed, Nov 9, 2016 at 6:02 PM, Joseph Swingle <[email protected]> >> >> wrote: >> >> >> >>> Drill team, >> >>> >> >>> Are Custom Functions simply broke in Version 1.8? >> >>> >> >>> Any movement on DRILL-4776 would be appreciated. >> >>> >> >>> Heck, willing to even fix all the doc, provided someone can provide >> me >> >> a >> >>> Custom Function that works in 1.8. >> >>> >> >>> https://issues.apache.org/jira/browse/DRILL-4776 >> >>> >> >> >> >> > <pom.xml> > > > >
