What is the type of employee.id ? it is integer , then change insert
statement to :


insert overwrite table employee_incr select employee.id,employee.ename,if(
employee.id= 1 ,12,employee.id ) as employee.id from employee;

Regards
Sanjiv Singh
Mob :  +091 9990-447-339

On Fri, Jul 24, 2015 at 11:10 AM, Shashi Vishwakarma <
shashi.vish...@gmail.com> wrote:

> Hi Experts,
>
> I have table in hive in which i have to update certain records. I am using
> hive 0.13 version. I did bit of googling and found that i can use If-Else
> statement with insert overwrite for doing this but after running a query it
> is throwing null pointer exception.
>
> Here is my Employee table:
>
> 1 emp1
> 2 emp2
> 3 emp3
> 4 emp4
> 5 emp5
>
> I created another table employee_incr with same schema as employee and ran
> this query to get updated records.
>
> insert overwrite table employee_incr select employee.id,employee.ename,if(
> employee.id=”1″,12,employee.id ) as employee.id from employee;
>
> Here is trace from Hive.
>
> 2015-07-24 09:55:05,351 INFO [main]: session.SessionState
> (SessionState.java:start(361)) – No Tez session required at this point.
> hive.execution.engine=mr.
> 2015-07-24 09:55:05,391 INFO [main]: log.PerfLogger
> (PerfLogger.java:PerfLogBegin(108)) – <PERFLOG method=Driver.run
> from=org.apache.hadoop.hive.ql.Driver>
> 2015-07-24 09:55:05,392 INFO [main]: log.PerfLogger
> (PerfLogger.java:PerfLogBegin(108)) – <PERFLOG method=TimeToSubmit
> from=org.apache.hadoop.hive.ql.Driver>
> 2015-07-24 09:55:05,392 INFO [main]: ql.Driver
> (Driver.java:checkConcurrency(159)) – Concurrency mode is disabled, not
> creating a lock manager
> 2015-07-24 09:55:05,395 INFO [main]: log.PerfLogger
> (PerfLogger.java:PerfLogBegin(108)) – <PERFLOG method=compile
> from=org.apache.hadoop.hive.ql.Driver>
> 2015-07-24 09:55:05,422 INFO [main]: log.PerfLogger
> (PerfLogger.java:PerfLogBegin(108)) – <PERFLOG method=parse
> from=org.apache.hadoop.hive.ql.Driver>
> 2015-07-24 09:55:05,426 INFO [main]: parse.ParseDriver
> (ParseDriver.java:parse(185)) – Parsing command: insert overwrite table
> employee_incr select employee.id,employee.ename,if(employee.id=1,12,
> employee.id ) as employee.id from employee
> 2015-07-24 09:55:05,709 ERROR [main]: ql.Driver
> (SessionState.java:printError(547)) – FAILED: NullPointerException null
> java.lang.NullPointerException
> at
> org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:37646)
> at
> org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:36884)
> at
> org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:36760)
> at
> org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1338)
> at
> org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1036)
> at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:199)
> at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
> at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:409)
> at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:323)
> at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:980)
> at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1045)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:916)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:906)
> at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:268)
> at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220)
> at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:423)
> at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:359)
> at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:743)
> at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:686)
> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
>
> Any help here?
>
> Thanks
>
> Shashi
>

Reply via email to