Big Data SQL Query for Access to HBase Table Fails With "KUP-11504: error from external driver: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/util/Bytes" or "org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations" (Doc ID 2130264.1)

Last updated on APRIL 27, 2017

Applies to:

Oracle Big Data SQL - Version 1.1 and later
Linux x86-64

Symptoms

Using Oracle BigData SQL 1.1 and Oracle Big Data Appliance (BDA) V4.2.0, you can access to HBase table in BDA from Oracle Database in Oracle Exadata as follows:

1. Create a Hive external table in BDA for a HBase table.
2. Create a Oracle external table in Exadata for the Hive external table.


However, "select" SQL for access to the HBase table on BDA fails with the following errors (error message is depend on the configuration settings):

Error-type-1:

ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-11504: error from external driver: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/util/Bytes

OR

Error-type-2:

ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-11504: error from external driver:
oracle.hadoop.sql.xcat.common.XCatException : 1001 : Error getting splits
document. Cause : org.apache.hadoop.hbase.client.RetriesExhaustedException:
Can't get the locations

 

Here's a sample procedures to reproduce these issues:  See "Creating an Oracle External Table for Apache HBase" in "Oracle Big Data Appliance Software User's Guide".

1. Create an HBase table ("tab_hbase1") on BDA cluster with 'oracle' user:

  

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms