[ 
https://issues.apache.org/jira/browse/HIVE-3336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chinna Rao Lalam resolved HIVE-3336.
------------------------------------
    Resolution: Not A Problem

Please open new jira, still it is a problem on master.

> [Hive-Hbase Integration]:Data is not inserted into the hbase table from the 
> hive table if the value is null even if the row key is not null
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-3336
>                 URL: https://issues.apache.org/jira/browse/HIVE-3336
>             Project: Hive
>          Issue Type: Bug
>          Components: HBase Handler
>    Affects Versions: 0.9.0
>            Reporter: Kristam Subba Swathi
>            Assignee: Chinna Rao Lalam
>
> Scenario
> ------------
> 1.create a new HBase table which is to be managed by Hive, use the STORED BY 
> clause on CREATE TABLE as follows
> Query:
> {noformat}
> CREATE TABLE hbase_table_join(key int, value string) 
> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
> WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
> TBLPROPERTIES ("hbase.table.name" = "xyz_join");
> {noformat}
> 2.Create two tables in hive and load data into the table as follows
> table1:
> {noformat}
> describe hive_hbase_1;
> OK
> empno int     
> ename string  
> deptno        int
> hive> select * from hive_hbase_1;
> OK
> 1     a       1
> 2     q       10
> 3     w       12
> 4     w       12
> 4     w       12
> 5     r       13      
> {noformat}
> table2:
> {noformat}
> hive> describe hive_hbase_2;
> OK
> deptno        int     
> dname string  
> count int     
> Time taken: 0.214 seconds
> hive> select * from hive_hbase_2;
> OK
> 11    a       11
> 12    q       101
> 13    w       121
> 14    w       121
> 2     we13    NULL
> 4     w       12
> 5     r       13
> {noformat}
> 3.Insert the join result of these tables into hbase_table_join as follows
> {noformat}
> hive> insert into table hbase_table_join select /*+mapjoin(hive_hbase_1)*/ 
> hive_hbase_2.deptno,hive_hbase_1.ename from hive_hbase_1 right outer join 
> hive_hbase_2 on hive_hbase_1.deptno=hive_hbase_2.deptno;   
> {noformat}
> Actual result of the select query is 
> --------------- 
> {noformat}
> 11 NULL
> 12 w
> 12 w
> 12 w
> 13 r
> 14 NULL
> 2 NULL
> 4 NULL
> 5 NULL
> {noformat}
> But the above insert query is failing because of the following exception 
> ---------------------
> {noformat}
> 2012-07-17 18:41:45,003 WARN [main] org.apache.hadoop.mapred.YarnChild: 
> Exception running child : java.lang.RuntimeException: 
> org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while 
> processing row {"deptno":11,"dname":"a","count":11}
>       at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:161)
>       at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
>       at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:400)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:335)
>       at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:152)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:396)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1232)
>       at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:147)
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime 
> Error while processing row {"deptno":11,"dname":"a","count":11}
>       at 
> org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:548)
>       at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:143)
>       ... 8 more
> Caused by: java.lang.IllegalArgumentException: No columns to insert
>       at org.apache.hadoop.hbase.client.HTable.validatePut(HTable.java:969)
>       at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:762)
>       at org.apache.hadoop.hbase.client.HTable.put(HTable.java:748)
>       at 
> org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat$1.write(HiveHBaseTableOutputFormat.java:98)
>       at 
> org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:588)
>       at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:471)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to