Skip to Content
avatar image
Former Member

SAP Vora: Not able to add Vora table as Virtual table via Smart Data Access in HANA Studio

I'm using a VM with HANA Express 2 SP 01. On a small test cluster I installed the Hortonworks Data Platform 2.6 with Spark 1.6.3, and also added HANA Vora 1.4 and the Spark Controller 2.1.

I followed the SAP Vora Installation and Administration guide: https://help.sap.com/http.svc/rc/f09ec811fe634f588647c342cac84c38/1.4/en-US/SAP_Vora_Installation_Admin_Guide_1.4_en.pdf until chapter 2.9. Everything works fine, but the Zeppelin part with the %jdbc interpreter:

%jdbc
select * from sys.tables using com.sap.spark.engines
============================================================

java.lang.NoSuchMethodError: org.apache.hive.service.cli.thrift.TExecuteStatementReq.setQueryTimeout(J)V

Here I get a NoSuchMethodError. However, if I follow the instructions in the next chapter (2.9 Connect SAP HANA Spark Controller to SAP Vora), I'm also not able to add a table from the Vora DataSource to my HANA Express Database. See also this screenshot:

So my questions here are:

- Is there a relation between the Exception I get in Zeppelin and the Smart Data Access problem?

- How to solce this Smart Data Access Problem (I tried to use uppercase / lowercase letters for the table name, no differences, still can't add the table as virtual table)?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Jul 07, 2017 at 05:15 PM

    Regarding the java.lang.NoSuchMethodError, most likely the wrong Hive jar file was attached.

    The issue you are experiencing with the HANA Wire ODBC adapter is handled in section 3.3 of the Vora troubleshooting guide

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      1.) Yes, the steps in section 3.3 of the troubleshooting guide did the trick for the SDA problem! I had to change 1) the string into a varchar(...) 2) the int to integer 3) table name to uppercase and 4) add the tableSchema definition which repeated the columns.

      2.) The NoSuchMethodError went away when I added the hive-jdbc-<version>-standalone.jar to the %jdbc interpreter dependencies. I found it via

      find / -name "hive-jdbc*.jar

      E.g. for me it was the file

      /usr/hdp/2.6.1.0-129/hive2/jdbc/hive-jdbc-2.1.0.2.6.1.0-129-standalone.jar

      Thank you very much!

  • avatar image
    Former Member
    Feb 05 at 07:20 AM

    Hi,

    Root cause of the issue:

    The relevant SAP Vora disk table or relational table has one or more columns of data type STRING, VARCHAR(n), or CHAR(n), which are implicitly converted into VARCHAR(*) or CHAR(*). However, SAP HANA only supports these data types up to a maximum size VARCHAR(2000) or CHAR(5000) and therefore SAP HANA will run into a runtime exception due to an incompatibility with Vora.

    To be able to add Vora tables as virtual tables in HANA you need to create table in VORA with tableschema option. PFB sample create:

    CREATE TABLE sample(
    A String,
    B String,
    )
    USING
    com.sap.spark.engines.relational
    OPTIONS (files
    "/user/****/file_path", tableschema "A varchar(2000), B varchar(2000)");
    
    Add comment
    10|10000 characters needed characters exceeded