[
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)