Many thanks for the assist.  That makes sense.  The map keys represent the 
column-family columns, and the values the column values, right?

I think I've made progress but now am trying to resolve a classpath issue with 
hive that others have run into:

java.io.IOException: Cannot create an instance of InputSplit class = 
org.apache.hadoop.hive.hbase.HBaseSplit:org.apache.hadoop.hive.hbase.HBaseSplit


and 

Error: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException


Trying to solve that by setting up $HIVE_HOME/auxlib with the correct jars and 
defining auxlib in hive-site.xml.  I noticed hive 0.11.0 comes with 
hbase-0.94.6.1, but I'm running hbase 0.94.11.  Could that also cause 
incompatibilities?

-Michael


________________________________
 From: "[email protected]" <[email protected]>
To: "[email protected]" <[email protected]>; Michael Kintzer 
<[email protected]> 
Sent: Monday, September 16, 2013 4:59 PM
Subject: Re: HBase and Hive
 


> "hbase.columns.mapping" = ":key,f:vals"


This is where the error is. Instead of "vals", you should have the name of the 
column under that column family. If you want to pull in all the column you can 
simply change it to "f:" and it will pull in all the columns. However be sure 
to change the corresponding hive column to be of a map type then.

Hope this helps.



On Mon, Sep 16, 2013 at 6:33 PM, Michael Kintzer <[email protected]> wrote:

Hi,
>
>Newbie here.
>
>hbase 0.94.11
>hadoop 1.2.1
>hive 0.11.0
>
>I've created an HBase table in hbase shell using command:   create 'mytable', 
>'f'
>
>I've loaded data into that table using a thrift Ruby client.   A table row has 
>a string key like 'someurl.com:yyyy-mm-dd'.   The column-family 'f' has a 
>variable number of columns/cells of data that look like:
>
>'f:n'  timestamp=<some timestamp>, value='some JSON',  where n is an integer.
>
>All this data is viewable in hbase shell and via thrift.
>
>I've created a Hive external table pointing to this HBase table with:
>
>create external table hbase_mytable (id string, vals ARRAY<string>)            
>                             
>  STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
>  WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,f:vals")               
>                                           
>  TBLPROPERTIES ("hbase.table.name" = "mytable");
>
>
>This succeeds.  However any Hive QL queries against this table return no data. 
>  Even select count(*) from hbase_mytable return 0 records.
>
>Anyone have a suggestion for me as to what might be missing from my hive 
>installation that prevents it from seeing the data in the HBase table?
>
>Much appreciated,
>
>Michael
>


-- 
Swarnim 

Reply via email to