Reply
Explorer
Posts: 11
Registered: ‎01-24-2017

Get SQLFeatureNotSupportedException: [Vertica][JDBC](10220) when using Sqoop?

Folks,

I am trying to import a single oolumn from Vertica (v8.1.0-2) into HDFS or Hive using Sqoop but unable. I get the following exception:

 

Caused by: java.sql.SQLFeatureNotSupportedException: [Vertica][JDBC](10220) Driver not capable.
at com.vertica.exceptions.ExceptionConverter.toSQLException(Unknown Source)
at com.vertica.jdbc.common.SForwardResultSet.getBlob(Unknown Source)
at org.apache.sqoop.lib.LargeObjectLoader.readBlobRef(LargeObjectLoader.java:238)

The column consists of a json object:

Data_type Type_name Column_size Buffer_length
-4 Long Varbinary 130000 130000

Questions:
1. Wonder if vertica-jdbc-8.1.0-3.jar support getBlob()? It does when I disasembled the class.

javap SForwardResultSet.class | grep -i getblob
public java.sql.Blob getBlob(int) throws java.sql.SQLException;
public java.sql.Blob getBlob(java.lang.String) throws java.sql.SQLException;

2. What is the parameter passed to the getBlob(). I looked at the actual java code generated by Sqoop.

public void loadLargeObjects(LargeObjectLoader __loader)
throws SQLException, IOException, InterruptedException {
this.___raw__ = __loader.readBlobRef(1, this.__cur_result_set);
}

where __cur_result_set is a (non-string) ResultSet.

3. what could be a work around to import the column?

Other things I have tried:
- able to "select <column>" on the Vertica table using Sqoop eval with no problems
- able to import another Vertica table in HDFS using Sqoop
- able to view the column with DBVisualizer with the Vertica JDBC drivers

 

Thanking in advance

 

Cross posted on Cloudera forms, Stack Exchange and Vertica Forums

Announcements