SAP Vora:无法通过HANA Studio中的智能数据访问将Vora表添加为虚拟表

时间:2017-07-06 10:01:14

标签: hadoop hana apache-zeppelin vora hana-studio

我正在使用带有HANA Express 2 SP 01的VM。在一个小型测试集群上,我安装了带有Spark 1.6.3的Hortonworks Data Platform 2.6,还添加了HANA Vora 1.4和Spark Controller 2.1。

我遵循SAP Vora安装和管理指南:https://help.sap.com/http.svc/rc/f09ec811fe634f588647c342cac84c38/1.4/en-US/SAP_Vora_Installation_Admin_Guide_1.4_en.pdf直到第2.9章。一切正常,但Zeppelin部分与%jdbc解释器:

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

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

这里我得到一个NoSuchMethodError。但是,如果我按照下一章(2.9将SAP HANA Spark Controller连接到SAP Vora)中的说明进行操作,我也无法将Vora DataSource中的表添加到我的HANA Express数据库中。另见此屏幕截图:

enter image description here

2 个答案:

答案 0 :(得分:1)

关于java.lang.NoSuchMethodError,很可能附加了错误的Hive jar文件。

评论中的链接指的是Spark Controller,但在这篇帖子/问题中,您使用的是HANA Wire。两者都是从Vora添加虚拟表的有效方法。

您在此处遇到的问题在Vora troubleshooting guide

的第3.3节中处理

答案 1 :(得分:0)

问题的根本原因:

相关的SAP Vora磁盘表或关系表具有一个或多个数据类型为STRING,VARCHAR(n)或CHAR(n)的列,它们被隐式转换为VARCHAR()或CHAR()。但是,SAP HANA仅支持最大大小为VARCHAR(2000)或CHAR(5000)的这些数据类型,因此,由于与Vora不兼容,SAP HANA将遇到运行时异常。

为了能够在HANA中将Vora表添加为虚拟表,您需要使用tableschema选项在VORA中创建表。 PFB样本创建:

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)");