0

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:

enter image description here

D. Müller
  • 3,336
  • 4
  • 36
  • 84
  • Just found this question: https://stackoverflow.com/questions/37045599/sap-hana-vora-1-2-cannot-load-as-virtual-table-in-hana-studio Is there a compatibility matrix for all these tools and versions? I'm a bit confused by all the different versions. Can't find an actual document... – D. Müller Jul 06 '17 at 10:01

2 Answers2

1

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

The link in your comment refers to the Spark Controller, but in this post/question you are using the HANA Wire. Both are valid methods of adding virtual tables from Vora.

The issue you are experiencing here is handled in section 3.3 of the Vora troubleshooting guide

  • Yes, the steps in section 3.3 of the troubleshooting guide did the trick for me! 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. Thank you very much! – D. Müller Jul 07 '17 at 07:59
  • Update: Your assumption about the wrong Hive jar was also right. I had to take the *hive-jdbc--standalone.jar*, which e.g. was for me *"/usr/hdp/2.6.1.0-129/hive2/jdbc/hive-jdbc-2.1.0.2.6.1.0-129-standalone.jar"*. I found it with *"find / -name "hive-jdbc\*.jar"*! So tanks answering both questions, Dimitri! – D. Müller Jul 07 '17 at 08:12
0

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)");
Adhav Ravi
  • 21
  • 1