You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Saurabh S <sa...@live.com> on 2012/06/01 23:11:09 UTC

'set cli header' throws null pointer exception

This is a weird issue. I've been setting hive CLI headers for a long time using the following:

set hive.cli.print.header=true;

Recently, I started using custom Hive UDF. Here is my test file, myfunc.sql:

--
add jar <myjar>;
create temporary function <myfunc> as <appropriate path>;
<test query 1>;
<test query 2>;
--

This works just fine. However, if I add the line hive cli header to the top, Hive crashes at line 2, i.e. the create temporary function with the following error:

--
Added /home/somejar.jar to class path
Added resource: /home/somejar.jar
OK
Exception in thread "main" java.lang.NullPointerException
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:221)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
        at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:310)
        at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:317)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:490)
        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:197)
--

Any idea what's going on?

Regards,
Saurabh
 		 	   		  

Re: 'set cli header' throws null pointer exception

Posted by Jakob Homan <jg...@gmail.com>.
You're probably running into
https://issues.apache.org/jira/browse/HIVE-2334, which has been fixed
in Hive 0.8+.

On Sat, Jun 9, 2012 at 7:03 AM, Mark Grover <gr...@gmail.com> wrote:
> Hi Saurabh,
> I wasn't able to reproduce this problem on Apache Hive 0.9.0. Can you please
> try the same procedure with another jar? Perhaps, one from hive's lib
> directory like hive-builtins.jar?
>
> Thanks for your input.
>
> Mark
>
>
> On Fri, Jun 1, 2012 at 8:21 PM, Saurabh S <sa...@live.com> wrote:
>>
>>
>> The ${HIVE_HOME}/lib contains files like hive-*-0.7.1-cdh3u3.jar, so I
>> guess it's version 0.7.1 provided by Cloudera.
>>
>> ----------------------------------------
>> > From: jghoman@gmail.com
>> > Date: Fri, 1 Jun 2012 17:11:18 -0700
>> > Subject: Re: 'set cli header' throws null pointer exception
>> > To: user@hive.apache.org
>> >
>> > Which version of Hive are you running?
>> >
>> > On Fri, Jun 1, 2012 at 3:49 PM, Saurabh S <sa...@live.com> wrote:
>> > >
>> > > Well it seems that simply moving the set header statement after the
>> > > 'create temporary function' statement works just fine.
>> > >
>> > > ----------------------------------------
>> > >> From: saurabhex@live.com
>> > >> To: user@hive.apache.org
>> > >> Subject: 'set cli header' throws null pointer exception
>> > >> Date: Fri, 1 Jun 2012 14:11:09 -0700
>> > >>
>> > >>
>> > >> This is a weird issue. I've been setting hive CLI headers for a long
>> > >> time using the following:
>> > >>
>> > >> set hive.cli.print.header=true;
>> > >>
>> > >> Recently, I started using custom Hive UDF. Here is my test file,
>> > >> myfunc.sql:
>> > >>
>> > >> --
>> > >> add jar <myjar>;
>> > >> create temporary function <myfunc> as <appropriate path>;
>> > >> <test query 1>;
>> > >> <test query 2>;
>> > >> --
>> > >>
>> > >> This works just fine. However, if I add the line hive cli header to
>> > >> the top, Hive crashes at line 2, i.e. the create temporary function with the
>> > >> following error:
>> > >>
>> > >> --
>> > >> Added /home/somejar.jar to class path
>> > >> Added resource: /home/somejar.jar
>> > >> OK
>> > >> Exception in thread "main" java.lang.NullPointerException
>> > >>         at
>> > >> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:221)
>> > >>         at
>> > >> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
>> > >>         at
>> > >> org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:310)
>> > >>         at
>> > >> org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:317)
>> > >>         at
>> > >> org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:490)
>> > >>         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:197)
>> > >> --
>> > >>
>> > >> Any idea what's going on?
>> > >>
>> > >> Regards,
>> > >> Saurabh
>> > >>
>> > >
>>
>
>

Re: 'set cli header' throws null pointer exception

Posted by Mark Grover <gr...@gmail.com>.
Hi Saurabh,
I wasn't able to reproduce this problem on Apache Hive 0.9.0. Can you
please try the same procedure with another jar? Perhaps, one from hive's
lib directory like hive-builtins.jar?

Thanks for your input.

Mark

On Fri, Jun 1, 2012 at 8:21 PM, Saurabh S <sa...@live.com> wrote:

>
> The ${HIVE_HOME}/lib contains files like hive-*-0.7.1-cdh3u3.jar, so I
> guess it's version 0.7.1 provided by Cloudera.
>
> ----------------------------------------
> > From: jghoman@gmail.com
> > Date: Fri, 1 Jun 2012 17:11:18 -0700
> > Subject: Re: 'set cli header' throws null pointer exception
> > To: user@hive.apache.org
> >
> > Which version of Hive are you running?
> >
> > On Fri, Jun 1, 2012 at 3:49 PM, Saurabh S <sa...@live.com> wrote:
> > >
> > > Well it seems that simply moving the set header statement after the
> 'create temporary function' statement works just fine.
> > >
> > > ----------------------------------------
> > >> From: saurabhex@live.com
> > >> To: user@hive.apache.org
> > >> Subject: 'set cli header' throws null pointer exception
> > >> Date: Fri, 1 Jun 2012 14:11:09 -0700
> > >>
> > >>
> > >> This is a weird issue. I've been setting hive CLI headers for a long
> time using the following:
> > >>
> > >> set hive.cli.print.header=true;
> > >>
> > >> Recently, I started using custom Hive UDF. Here is my test file,
> myfunc.sql:
> > >>
> > >> --
> > >> add jar <myjar>;
> > >> create temporary function <myfunc> as <appropriate path>;
> > >> <test query 1>;
> > >> <test query 2>;
> > >> --
> > >>
> > >> This works just fine. However, if I add the line hive cli header to
> the top, Hive crashes at line 2, i.e. the create temporary function with
> the following error:
> > >>
> > >> --
> > >> Added /home/somejar.jar to class path
> > >> Added resource: /home/somejar.jar
> > >> OK
> > >> Exception in thread "main" java.lang.NullPointerException
> > >>         at
> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:221)
> > >>         at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
> > >>         at
> org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:310)
> > >>         at
> org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:317)
> > >>         at
> org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:490)
> > >>         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:197)
> > >> --
> > >>
> > >> Any idea what's going on?
> > >>
> > >> Regards,
> > >> Saurabh
> > >>
> > >
>
>

RE: 'set cli header' throws null pointer exception

Posted by Saurabh S <sa...@live.com>.
The ${HIVE_HOME}/lib contains files like hive-*-0.7.1-cdh3u3.jar, so I guess it's version 0.7.1 provided by Cloudera.

----------------------------------------
> From: jghoman@gmail.com
> Date: Fri, 1 Jun 2012 17:11:18 -0700
> Subject: Re: 'set cli header' throws null pointer exception
> To: user@hive.apache.org
>
> Which version of Hive are you running?
>
> On Fri, Jun 1, 2012 at 3:49 PM, Saurabh S <sa...@live.com> wrote:
> >
> > Well it seems that simply moving the set header statement after the 'create temporary function' statement works just fine.
> >
> > ----------------------------------------
> >> From: saurabhex@live.com
> >> To: user@hive.apache.org
> >> Subject: 'set cli header' throws null pointer exception
> >> Date: Fri, 1 Jun 2012 14:11:09 -0700
> >>
> >>
> >> This is a weird issue. I've been setting hive CLI headers for a long time using the following:
> >>
> >> set hive.cli.print.header=true;
> >>
> >> Recently, I started using custom Hive UDF. Here is my test file, myfunc.sql:
> >>
> >> --
> >> add jar <myjar>;
> >> create temporary function <myfunc> as <appropriate path>;
> >> <test query 1>;
> >> <test query 2>;
> >> --
> >>
> >> This works just fine. However, if I add the line hive cli header to the top, Hive crashes at line 2, i.e. the create temporary function with the following error:
> >>
> >> --
> >> Added /home/somejar.jar to class path
> >> Added resource: /home/somejar.jar
> >> OK
> >> Exception in thread "main" java.lang.NullPointerException
> >>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:221)
> >>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
> >>         at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:310)
> >>         at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:317)
> >>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:490)
> >>         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:197)
> >> --
> >>
> >> Any idea what's going on?
> >>
> >> Regards,
> >> Saurabh
> >>
> >
 		 	   		  

Re: 'set cli header' throws null pointer exception

Posted by Jakob Homan <jg...@gmail.com>.
Which version of Hive are you running?

On Fri, Jun 1, 2012 at 3:49 PM, Saurabh S <sa...@live.com> wrote:
>
> Well it seems that simply moving the set header statement after the 'create temporary function' statement works just fine.
>
> ----------------------------------------
>> From: saurabhex@live.com
>> To: user@hive.apache.org
>> Subject: 'set cli header' throws null pointer exception
>> Date: Fri, 1 Jun 2012 14:11:09 -0700
>>
>>
>> This is a weird issue. I've been setting hive CLI headers for a long time using the following:
>>
>> set hive.cli.print.header=true;
>>
>> Recently, I started using custom Hive UDF. Here is my test file, myfunc.sql:
>>
>> --
>> add jar <myjar>;
>> create temporary function <myfunc> as <appropriate path>;
>> <test query 1>;
>> <test query 2>;
>> --
>>
>> This works just fine. However, if I add the line hive cli header to the top, Hive crashes at line 2, i.e. the create temporary function with the following error:
>>
>> --
>> Added /home/somejar.jar to class path
>> Added resource: /home/somejar.jar
>> OK
>> Exception in thread "main" java.lang.NullPointerException
>>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:221)
>>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
>>         at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:310)
>>         at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:317)
>>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:490)
>>         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:197)
>> --
>>
>> Any idea what's going on?
>>
>> Regards,
>> Saurabh
>>
>

RE: 'set cli header' throws null pointer exception

Posted by Saurabh S <sa...@live.com>.
Well it seems that simply moving the set header statement after the 'create temporary function' statement works just fine.

----------------------------------------
> From: saurabhex@live.com
> To: user@hive.apache.org
> Subject: 'set cli header' throws null pointer exception
> Date: Fri, 1 Jun 2012 14:11:09 -0700
>
>
> This is a weird issue. I've been setting hive CLI headers for a long time using the following:
>
> set hive.cli.print.header=true;
>
> Recently, I started using custom Hive UDF. Here is my test file, myfunc.sql:
>
> --
> add jar <myjar>;
> create temporary function <myfunc> as <appropriate path>;
> <test query 1>;
> <test query 2>;
> --
>
> This works just fine. However, if I add the line hive cli header to the top, Hive crashes at line 2, i.e. the create temporary function with the following error:
>
> --
> Added /home/somejar.jar to class path
> Added resource: /home/somejar.jar
> OK
> Exception in thread "main" java.lang.NullPointerException
>         at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:221)
>         at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
>         at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:310)
>         at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:317)
>         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:490)
>         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:197)
> --
>
> Any idea what's going on?
>
> Regards,
> Saurabh
>