On Wed, Mar 3, 2010 at 8:11 AM, Sonal Goyal <[email protected]> wrote: > Is your com.maxmind.geoip.LookupService class part of your jar? > Thanks and Regards, > Sonal > > > On Wed, Mar 3, 2010 at 4:20 PM, prakash sejwani <[email protected]> > wrote: >> >> Hi All, >> I follow this link http://wiki.apache.org/hadoop/Hive/HivePlugins >> First, to create a new class that extends UDF, with one or more >> methods named evaluate >> Once hive is started up with your jars in the classpath, the final step >> is to register your function: >> >> create temporary function ip_to_country as >> 'com.example.hive.udf.IpToCountry'; >> >> it gives me the error the following error >> >> >> >> >> Exception in thread "main" java.lang.NoClassDefFoundError: >> com/maxmind/geoip/LookupService >> at com.econify.geoip.IpToCountry.<clinit>(IpToCountry.java:15) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:247) >> at >> org.apache.hadoop.hive.ql.exec.FunctionTask.getUdfClass(FunctionTask.java:118) >> at >> org.apache.hadoop.hive.ql.exec.FunctionTask.createFunction(FunctionTask.java:74) >> at >> org.apache.hadoop.hive.ql.exec.FunctionTask.execute(FunctionTask.java:62) >> at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107) >> at >> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55) >> at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:630) >> at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:504) >> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:382) >> at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:138) >> at >> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:197) >> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:303) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at org.apache.hadoop.util.RunJar.main(RunJar.java:156) >> Caused by: java.lang.ClassNotFoundException: >> com.maxmind.geoip.LookupService >> at java.net.URLClassLoader$1.run(URLClassLoader.java:200) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:307) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:252) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) >> ... 19 more >> >> >> I have attached my java file with it. >> > > I have just released similar code. You may be interested in:
http://www.jointhegrid.com/hive-udf-geo-ip-jtg/index.jsp
