2016-07-25 97 views
0

我正在試圖通過Squirrel SQL查詢一個HBase表。創建一個蜂巢外部表像下面從Squirrel SQL查詢HBase/Hive表 - 加載存儲時出錯handler.org.apache.hadoop.hive.hbase.HBaseStorageHandler

create external table tweets_hbase(key string, value string) 
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
with serdeproperties ("hbase.columns.mapping" = ":key,data:tweet_text") 
tblproperties ("hbase.table.name" = "tweets_hbase") 

我可以通過命令行HIVE

hive> select * from tweets_hbase; 
OK 
20160725001730109  {"createdat":"25-Jul-2016 12:17:03","tweet_date":"2016-07-25","text":"私のランドールスゴビ:) \n#abyssrium\nhts:t.co/NcKtQi9lzm ht/t.co/WNgQIxLU05","user":"uw_kyaaaan","uniqueid":1469420239464,"searchtag":"Apple"} 
20160725001730266  {"createdat":"25-Jul-2016 12:17:03","tweet_date":"2016-07-25","text":"2016年7月24日\n8422 Steps\n移動距離 6.485 km\n消費カロリー 467.6 kcal\n\n#M7POPOPO ht/t.co/eFathZXTHD","user":"matsuwichi","uniqueid":1469420239465,"searchtag":"Apple"} 
20160725001730308  {"createdat":"25-Jul-2016 12:17:03","tweet_date":"2016-07-25","text":"RT @JBCrewdotcom: Don't forget to leave a nice review for #Coldwater after purchasing! \niTunes: t.co/p5YKRwPKNw\nGoogle Play: ht\u2026","user":"2016OLLGAndUGRL","uniqueid":1469420239466,"searchtag":"Apple"} 

查詢然而,當我試圖通過SQL松鼠查詢,我得到一個錯誤的加載。必要的JAR已添加到Extra Class Path中。

  1. 蜂房HBase的處理程序-1.1.0.jar
  2. HBase的客戶端 - 1.1.5.jar
  3. HBase的常見-1.1.5.jar
  4. HBase的,protocal- 1.1.5.jar
  5. HBase的服務器-1.1.5.jar
  6. 蜂房JDBC-1.1.1-standalone.jar

請幫忙

java.sql.SQLException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.org.apache.hadoop.hive.hbase.HBaseStorageHandler 
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:296) 
at net.sourceforge.squirrel_sql.client.session.StatementWrapper.execute(StatementWrapper.java:165) 
at net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.processQuery(SQLExecuterTask.java:369) 
at net.sourceforge.squirrel_sql.client.session.SQLExecuterTask.run(SQLExecuterTask.java:212) 
at net.sourceforge.squirrel_sql.fw.util.TaskExecuter.run(TaskExecuter.java:82) 
at java.lang.Thread.run(Unknown Source) 

回答

1

我自己解決了。以下是我必須做的:

  1. HBase的升級1.2.2
  2. 雖然開始thriftServer先從以下罐子--jars選項

./start-thriftserver .h --hiveconf hive.server2.thrift.port = 10001 --hiveconf hive.server2.thrift.bind.host = xxx.xxx.xxx.xxx --hiveconf spark.cores.max = 2 --master spark: //xxx.xxx.xxx.xxx:7077 - 名稱 ThriftServer --jars file:///home/hadoop/software/apache-hive-1.2.1-bin/ LIB /蜂房HBase的處理程序-1.2.1.jar,文件:///home/hadoop/software/hbase-1.2.2/lib/hbase-common-1.2.2.jar,file:///家/的hadoop /軟件/ HBase的-1.2.2/LIB/HBase的 - 協議 - 1.2.2.jar,文件:///home/hadoop/software/hbase-1.2.2/lib/hbase-client-1.2.2.jar ,文件:///home/hadoop/software/hbase-1.2.2/lib/guava-12.0.1.jar,file:///home/hadoop/software/hbase-1.2.2/lib/hbase-server -1.2.2.jar,文件:///home/hadoop/software/hbase-1.2.2/lib/htrace-core-3.1.0-incubating.jar,file:///家/ Hadoop的/軟件/ HBase的-1.2.2/lib/metrics-core-2.2.0.jar