[HADOOP] Hiber와 Hiber를 통합하기 : Hbase 테이블 등록하기
HADOOPHiber와 Hiber를 통합하기 : Hbase 테이블 등록하기
나는 다음 버전의 Hbase와 Hive를 포함하고있는 Hortonworks Sandbox 2.0을 사용하고있다.
Component Version
------------------------
Apache Hadoop 2.2.0
Apache Hive 0.12.0
Apache HBase 0.96.0
Apache ZooKeeper 3.4.5
...과 다음 쿼리를 사용하여 하이브에 hbase 테이블을 등록하려고합니다.
CREATE TABLE IF NOT EXISTS Document_Table_Hive (key STRING, author STRING, category STRING) STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ WITH SERDEPROPERTIES (‘hbase.columns.mapping’ = ‘:key,metadata:author,categories:category’) TBLPROPERTIES (‘hbase.table.name’ = ‘Document’);
이 작동하지 않습니다, 다음과 같은 예외가 발생합니다.
2014-03-26 09:14:57,341 ERROR exec.DDLTask (DDLTask.java:execute(435)) – java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.setConf(HBaseStorageHandler.java:249)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
2014-03-26 09:14:57,368 ERROR ql.Driver (SessionState.java:printError(419)) – FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/apache/hadoop/hbase/HBaseConfiguration
Hbase Table "Document"를 이미 만들었고 describe 명령은 다음 설명을 제공합니다.
‘Document’,
{NAME => ‘categories’,..},
{NAME => ‘comments’,..},
{NAME => ‘metadata’,..}
나는 다음과 같은 것을 시도했다.
그리고 아직 작동하지 않습니다!
하이브 클래스 패스에 항아리를 추가하여 hbaseConfiguration 클래스를 찾고, 아니면 전혀 다른 문제입니까?
해결법
-
==============================
1.전체 항아리를 복사 할 필요가 없습니다. 그냥 hbase - *. jar, zookeeper * .jar, hive-hbase-handler * .jar이면 충분합니다. 기본적으로 모든 hadoop 관련 jar는 hadoop classpath에 추가됩니다. hive는 내부적으로 hadoop 명령을 사용하여 실행합니다.
전체 항아리를 복사 할 필요가 없습니다. 그냥 hbase - *. jar, zookeeper * .jar, hive-hbase-handler * .jar이면 충분합니다. 기본적으로 모든 hadoop 관련 jar는 hadoop classpath에 추가됩니다. hive는 내부적으로 hadoop 명령을 사용하여 실행합니다.
또는
/etc/hive/conf/hive-env.sh에서 / usr / lib / hbase / lib /에 HIVE_AUX_JARS_PATH 환경 변수를 지정하여 hbase jar 파일을 하이브 라이브러리에 복사하는 대신에 할 것입니다.
두 번째 방법은 첫 번째 방법보다 더 제안됩니다
from https://stackoverflow.com/questions/22688660/integrating-hbase-with-hive-register-hbase-table by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HBase에서 SingleColumnValueFilter가있는 사용자 정의 비교기를 어떻게 사용합니까? (0) | 2019.06.26 |
---|---|
[HADOOP] MapReduce 작업이 원격 데이터에 액세스하는 것을 제한 할 수 있습니까? (0) | 2019.06.26 |
[HADOOP] 하이브 설치 후 Hadoop (로컬 및 호스트 대상이 일치하지 않음) (0) | 2019.06.26 |
[HADOOP] 왜 hbase에서 hbase / lib 폴더를 유지해야합니까? (0) | 2019.06.26 |
[HADOOP] 프로그램의 hadoop 시작 오류 : PriviledgedActionException (0) | 2019.06.26 |