Home Forums Hive / HCatalog Hbase integration with Hive : Register Hbase table in Hive

Tagged: 

This topic contains 0 replies, has 1 voice, and was last updated by  Afaque KHAN 8 months ago.

  • Creator
    Topic
  • #50700

    Afaque KHAN
    Participant

    I am using Sandbox 2.0
    &
    I am trying to register my hbase table into hive using the following query

    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’);

    this does not work: I get the following Exception

    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

    the Hbase Table “Document” already exists and the describe command gives the following description

    ‘Document’,
    {NAME => ‘categories’,..},
    {NAME => ‘comments’,..},
    {NAME => ‘metadata’,..}

    I have tried the following things

    1) add hive.aux.jars.path in hive-site.xml

    hive.aux.jars.path
    file:///etc/hbase/conf/hbase-site.xml,file:///usr/lib/hbase/lib/hbase-common-0.96.0.2.0.6.0-76-hadoop2.jar,file:///usr/lib/hive/lib/hive-hbase-handler-0.12.0.2.0.6.0-76.jar,file:///usr/lib/hbase/lib/hbase-client-0.96.0.2.0.6.0-76-hadoop2.jar,file:///usr/lib/zookeeper/zookeeper-3.4.5.2.0.6.0-76.jar

    2) add jars using hive add jar command
    add jar /usr/lib/hbase/lib/hbase-common-0.96.0.2.0.6.0-76-hadoop2.jar;
    add jar /usr/lib/hive/lib/hive-hbase-handler-0.12.0.2.0.6.0-76.jar;
    add jar /usr/lib/hbase/lib/hbase-client-0.96.0.2.0.6.0-76-hadoop2.jar;
    add jar /usr/lib/zookeeper/zookeeper-3.4.5.2.0.6.0-76.jar;
    add file /etc/hbase/conf/hbase-site.xml

    3) As you have mentioned
    export HADOOP_CLASSPATH=/etc/hbase/conf:/usr/lib/hbase/lib/hbase-common-0.96.0.2.0.6.0-76-hadoop2:/usr/lib/zookeeper/zookeeper-3.4.5.2.0.6.0-76.jar

    And it is still not working!!

    Could you please help me in figuring out how I can add the jars in the hive classpath so that it finds the hbaseConfiguration class.

    Or if it is entirely another issue.

    Thanks in advance

    Regards

You must be logged in to reply to this topic.