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 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;
- 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.
- what could be a work around to import the column?
Other things I have tried:
- able to "select " 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