There was a change in Drill 1.3 or 1.4 that required additional specification.
See here: https://drill.apache.org/docs/adding-custom-functions-to-drill/ -- Jacques Nadeau CTO and Co-Founder, Dremio On Thu, Mar 17, 2016 at 10:13 AM, Shankar Mane <shankar.m...@games24x7.com> wrote: > @Jacques Nadeau > > Earlier in 1.2.0, we used blank drill-module.conf file as a part of UDF > itself. And this file was not added into drill "conf" directory. > Functions were working fine. > > Same we did in 1.6.0, but drill is not able to find the function. > > Btw As you suggested let me do changes. And will update here once done. > > Regards, > Shankar > On 17 Mar 2016 22:31, "Jacques Nadeau" <jacq...@dremio.com> wrote: > > > I think your problem here is that you override all classpath scanning > > packages (and also are using a wildcard in the name). > > > > You should try to only append your special packages like this: > > > > drill.classpath.scanning.package+= "com.companynanme.drill" > > > > -- > > Jacques Nadeau > > CTO and Co-Founder, Dremio > > > > On Thu, Mar 17, 2016 at 8:25 AM, Shankar Mane < > shankar.m...@games24x7.com> > > wrote: > > > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > 1. Drill in cluster is *working fine *when *customized* > drill-module.conf > > > file is *not present *in dir > "apache-drill-1.6.0/conf/drill-module.conf" > > > > > > > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > > > > 2. Custom UDF is not working as describe below : > > > > > > i have copied my custom UDF into dir "apache-drill-1.6.0/jars/3rdparty" > > on > > > all nodes and restarted all drillbits. > > > > > > > > > udf filename=udfutil-0.0.1-SNAPSHOT.jar > > > jar *structure* - > > > /* > > > META-INF/ > > > META-INF/MANIFEST.MF > > > com/ > > > com/companyname/ > > > com/companyname/drill/ > > > drill-module.conf > > > com/companyname/drill/channeltest.class > > > com/companyname/drill/DateFunc.class > > > com/companyname/drill/DateExtract.class > > > com/companyname/drill/DecodeURI.class > > > com/companyname/drill/ChannelID.class > > > com/companyname/drill/BrowserFuncNew.class > > > com/companyname/drill/ToDate.class > > > META-INF/maven/ > > > META-INF/maven/com.companyname.drill.udf/ > > > META-INF/maven/com.companyname.drill.udf/udfutil/ > > > META-INF/maven/com.companyname.drill.udf/udfutil/pom.xml > > > META-INF/maven/com.companyname.drill.udf/udfutil/pom.properties > > > */ > > > > > > > > > -- And login to drill to check whether function is working or not > > > /* > > > 0: jdbc:drill:> select DateFunc(1458228298) from (values(1)) ; > > > *Error: VALIDATION ERROR: From line 1, column 8 to line 1, column 26: > No > > > match found for function signature DateFunc(<NUMERIC>)* > > > */ > > > > > > *IT FAILED....* > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > 3. Now as described on website, now i edited file > "*drill-module.conf*". > > > And copied this file to all nodes in cluster and restarted all > drillbits. > > > > > > vi apache-drill-1.6.0/conf/drill-module.conf > > > > > > /* > > > drill: { > > > classpath.scanning: { > > > packages: [ > > > "com.companyname.drill.*" > > > ] > > > } > > > } > > > */ > > > > > > *But DRILL GET SHUTDOWN on all nodes.* > > > > > > > > > > > > > > > *Please help me to resolved this issue. Or suggest any other way to > > invoke > > > my custome UDFs. * > > > > > > > > > > > > > > > > > > On Thu, Mar 17, 2016 at 6:50 PM, Abdel Hakim Deneche < > > > adene...@maprtech.com> > > > wrote: > > > > > > > Easiest fix when Drill fails to load a storage plugin is to delete > the > > > > existing configurations. Deleting /tmp/drill/ should resolve this. > > > > > > > > I know this may not be practical in some cases, and other developers > > may > > > > give you a better solution. > > > > > > > > On Thu, Mar 17, 2016 at 2:13 PM, Shankar Mane < > > > shankar.m...@games24x7.com> > > > > wrote: > > > > > > > > > *drillbit.out =>* > > > > > > > > > > > > > > > Exception in thread "main" > > > > > org.apache.drill.exec.exception.DrillbitStartupException: Failure > > > during > > > > > initial startup of Drillbit. > > > > > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:284) > > > > > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:261) > > > > > at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:257) > > > > > Caused by: java.lang.IllegalStateException: > > > > > com.fasterxml.jackson.databind.JsonMappingException: Could not > > resolve > > > > type > > > > > id 'kudu' into a subtype of [simple type, class > > > > > org.apache.drill.common.logical.StoragePluginConfig]: known type > ids > > = > > > > > [InfoSchemaConfig, StoragePluginConfig, SystemTablePluginConfig, > > file, > > > > > jdbc, mock, named] > > > > > at [Source: { > > > > > "storage":{ > > > > > kudu : { > > > > > type:"kudu", > > > > > masterAddresses: "1.2.3.4", > > > > > enabled: false > > > > > } > > > > > } > > > > > } > > > > > ; line: 4, column: 12] (through reference chain: > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.planner.logical.StoragePlugins["storage"]->java.util.LinkedHashMap["kudu"]) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.store.StoragePluginRegistryImpl.createPlugins(StoragePluginRegistryImpl.java:182) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.store.StoragePluginRegistryImpl.init(StoragePluginRegistryImpl.java:126) > > > > > at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:113) > > > > > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:281) > > > > > ... 2 more > > > > > Caused by: com.fasterxml.jackson.databind.JsonMappingException: > Could > > > not > > > > > resolve type id 'kudu' into a subtype of [simple type, class > > > > > org.apache.drill.common.logical.StoragePluginConfig]: known type > ids > > = > > > > > [InfoSchemaConfig, StoragePluginConfig, SystemTablePluginConfig, > > file, > > > > > jdbc, mock, named] > > > > > at [Source: { > > > > > "storage":{ > > > > > kudu : { > > > > > type:"kudu", > > > > > masterAddresses: "1.2.3.4", > > > > > enabled: false > > > > > } > > > > > } > > > > > } > > > > > ; line: 4, column: 12] (through reference chain: > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.planner.logical.StoragePlugins["storage"]->java.util.LinkedHashMap["kudu"]) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:216) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.DeserializationContext.unknownTypeException(DeserializationContext.java:983) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:281) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:163) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:106) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:91) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:497) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:341) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:465) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:380) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3788) > > > > > at > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2779) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.store.StoragePluginRegistryImpl.createPlugins(StoragePluginRegistryImpl.java:144) > > > > > ... 5 more > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Mar 17, 2016 at 6:38 PM, Shankar Mane < > > > > shankar.m...@games24x7.com> > > > > > wrote: > > > > > > > > > > > *drillbit.out =>* > > > > > > > > > > > > > > > > > > Exception in thread "main" > > > > > > org.apache.drill.exec.exception.DrillbitStartupException: Failure > > > > during > > > > > > initial startup of Drillbit. > > > > > > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:284) > > > > > > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:261) > > > > > > at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:257) > > > > > > Caused by: java.lang.IllegalStateException: > > > > > > com.fasterxml.jackson.databind.JsonMappingException: Could not > > > resolve > > > > > type > > > > > > id 'kudu' into a subtype of [simple type, class > > > > > > org.apache.drill.common.logical.StoragePluginConfig]: known type > > ids > > > = > > > > > > [InfoSchemaConfig, StoragePluginConfig, SystemTablePluginConfig, > > > file, > > > > > > jdbc, mock, named] > > > > > > at [Source: { > > > > > > "storage":{ > > > > > > kudu : { > > > > > > type:"kudu", > > > > > > masterAddresses: "1.2.3.4", > > > > > > enabled: false > > > > > > } > > > > > > } > > > > > > } > > > > > > ; line: 4, column: 12] (through reference chain: > > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.planner.logical.StoragePlugins["storage"]->java.util.LinkedHashMap["kudu"]) > > > > > > at > > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.store.StoragePluginRegistryImpl.createPlugins(StoragePluginRegistryImpl.java:182) > > > > > > at > > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.store.StoragePluginRegistryImpl.init(StoragePluginRegistryImpl.java:126) > > > > > > at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:113) > > > > > > at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:281) > > > > > > ... 2 more > > > > > > Caused by: com.fasterxml.jackson.databind.JsonMappingException: > > Could > > > > not > > > > > > resolve type id 'kudu' into a subtype of [simple type, class > > > > > > org.apache.drill.common.logical.StoragePluginConfig]: known type > > ids > > > = > > > > > > [InfoSchemaConfig, StoragePluginConfig, SystemTablePluginConfig, > > > file, > > > > > > jdbc, mock, named] > > > > > > at [Source: { > > > > > > "storage":{ > > > > > > kudu : { > > > > > > type:"kudu", > > > > > > masterAddresses: "1.2.3.4", > > > > > > enabled: false > > > > > > } > > > > > > } > > > > > > } > > > > > > ; line: 4, column: 12] (through reference chain: > > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.planner.logical.StoragePlugins["storage"]->java.util.LinkedHashMap["kudu"]) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:216) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.DeserializationContext.unknownTypeException(DeserializationContext.java:983) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._handleUnknownTypeId(TypeDeserializerBase.java:281) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:163) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:106) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:91) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:142) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringMap(MapDeserializer.java:497) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:341) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:26) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeWithErrorWrapping(BeanDeserializer.java:465) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:380) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1123) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:298) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:133) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3788) > > > > > > at > > > > > > > > > > > > > > > > > > > > > com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2779) > > > > > > at > > > > > > > > > > > > > > > > > > > > > org.apache.drill.exec.store.StoragePluginRegistryImpl.createPlugins(StoragePluginRegistryImpl.java:144) > > > > > > ... 5 more > > > > > > > > > > > > > > > > > > On Thu, Mar 17, 2016 at 6:21 PM, Shankar Mane < > > > > > shankar.m...@games24x7.com> > > > > > > wrote: > > > > > > > > > > > >> I am not able to start drill 1.6.0. Please find the attached > file > > > for > > > > > >> more details. > > > > > >> > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > 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 > > > > > > > > > > > > > > >