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. > toStringFromUTF8( > > 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 > >>> > >> > >
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hobsons-labs.hadoop</groupId> <artifactId>hobsons-md5</artifactId> <version>1.0</version> <name>MD5 Hash of string</name> <dependencies> <dependency> <groupId>org.apache.drill.exec</groupId> <artifactId>drill-java-exec</artifactId> <version>1.8.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>attach-sources</id> <phase>package</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <verbose>true</verbose> <compilerVersion>1.7</compilerVersion> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project>
