hive连接hbase
准备工作:
hbase-common-1.2.6.1.jar hbase-server-1.2.6.1.jar
hbase-client-1.2.6.1.jar hbase-protocol-1.2.6.1.jar
hbase-it-1.2.6.1.jar htrace-core-3.1.0-incubating.jar
hbase-hadoop2-compat-1.2.6.1.jar hbase-hadoop-compat-1.2.6.1.jar
hive-hbase-handler-1.2.2.jar
将以上jar从hbase/lib中移动到hive/lib中
如果报这个错误:
Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Sat Jul 21 23:30:38 PDT 2018, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=68707: row 'test1,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hadoop7,16020,1532240647181, seqNum=0
解决办法将metrics-core-2.2.0.jar 移动到hive/lib中 在hbase/lib
连接:
创建表:
create external table test2(id string,name string,age int,sex string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties("hbase.columns.mapping"=":key,info:name,info:age,info:sex")
tblproperties("hbase.table.name"="test1")