hive绑定hbase的table

接下来的工作需要用hive来查询hbase中已经存在的表,周末闲下来研究一下,用百度搜了半天,说的都不是很详细,只是有一个简单的建表语句,根本没有说明hbase的table如何和hive建立的table在column级别做映射,没办法,还得用google。

首先来一段建表语句:

  
create table yourtable(column1 string, column2 int,column3 string) 
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
with serdeproperties("hbase.columns.mapping"=
"yourhbasecolumnfamily1:yourhbasecolumn1,:key,
yourhbasecolumnfamily2:yourhbasecolumn3")
tblproperties("hbase.table.name"="yourhbasetable");

上面这个建表语句表示建立一个hivetable名字叫做yourtable,同时映射到hbasetable名字叫做yourhbasetable上,yourtable的column1映射到yourhbasetable的yourhbasecolumnfamily1上的yourhbasecolumn1字段,column2字段是key(备注:个人猜测可能是关联到yourhbasetable的rowkey,如果各位道友有知道的可以评论告知在下,感激不尽),column3字段关联到yourhbasetable的yourhbasecolumnfamily2上的yourhbasecolumn3字段。

以上是建立一个hbase不存在的表,如果hbase已经存在表,应该使用createexternaltable...后面都是一样的,使用external关键字来修饰table表示关联到hbase中已经存在的表。

相关推荐