2013-04-19 3 views
0

Hive-HBase 통합을 위해 this을 언급하고 있습니다.Hive-HBase 통합 : 표를 찾을 수 없음

hbase(main):016:0> describe 'ORDERS_HIVE_DUMMY' 

ERROR: Failed to find table named ORDERS_HIVE_DUMMY 

Here is some help for this command: 
Describe the named table. For example: 
    hbase> describe 't1' 

가 그럼 난 하이브 셸 시작 :

첫째, 나는 HBase를에 ORDERS_HIVE_DUMMY를라는 이름의 표가 있다는 것을 확인하는 그런

[email protected]:~/hadoop_ecosystem/apache_hive/hive_installation/hive-0.9.0/bin$ ./hive --auxpath $HIVE_HOME/lib/hive-hbase-handler-0.9.0.jar,$HBASE_HOME/hbase-0.94.6.1.jar,$HBASE_HOME/lib/zookeeper-3.4.5.jar,$HIVE_HOME/lib/guava-r09.jar -hiveconf hbase.zookeeper.quorum=cldx-1140-1034 
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files. 
Logging initialized using configuration in jar:file:/home/hduser/hadoop_ecosystem/apache_hive/hive_installation/hive-0.9.0/lib/hive-common-0.9.0.jar!/hive-log4j.properties 
Hive history file=/tmp/hduser/hive_job_log_hduser_201304192016_1559705029.txt 
hive> 

, 나는 테이블을 생성

hive> CREATE TABLE ORDERS_HIVE_DUMMY(ORDER_ID STRING,CUSTOMER_ID STRING,PRODUCT_ID STRING,ORDER_DATE TIMESTAMP,QUANTITY DOUBLE,AMOUNT DOUBLE,PAYMENT_MODE STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,ORDER_DETAILS:CUSTOMER_ID,ORDER_DETAILS:PRODUCT_ID,ORDER_DETAILS:REQUEST_DATE,ORDER_DETAILS:PRODUCT_QUANTITY,ORDER_DETAILS:PRICE,ORDER_DETAILS:PAYMENT_MODE"); 
OK 
Time taken: 11.893 seconds 

그런 다음 HBase에서 표가 생성되었는지 확인했습니다

내가 외부 테이블을 조회하면 하이브에 기록 된 쿼리 프롬프트에게 몇 가지 힌트를 필요로한다는 생각

hive> select * from ORDERS_HIVE_DUMMY; 
OK 
Failed with exception java.io.IOException:org.apache.hadoop.hbase.TableNotFoundException: orders_hive_dummy 
Time taken: 0.455 seconds 

: 나는 하이브에 테이블을 쿼리 할 때

hbase(main):017:0> describe 'ORDERS_HIVE_DUMMY' 
DESCRIPTION                  ENABLED 
{NAME => 'ORDERS_HIVE_DUMMY', FAMILIES => [{NAME => 'ORDER_DETAILS', BLOOMFILTER true 
    => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MI 
N_VERSIONS => '0', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'fals 
e', BLOCKCACHE => 'true'}]} 

그러나 지금, 나는 예외가? 어떤 오류가있을 수 있습니까?

답변

1

HBase의 테이블 이름은 ORDERS_HIVE_DUMMY이지만 하이브는 orders_hive_dummy이므로 CREATE TABLE orders_hive_dummy을 사용해야합니다.

+0

이제 저는 멍청이처럼 느껴집니다. | 감사합니다. –