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

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

我正在使用带有 HANA Express 2 SP 01 的虚拟机。在一个小型测试集群上,我安装了 Hortonworks Data Platform 2.6 和 Spark 1.6.3,还添加了 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 控制器连接到 SAP Vora)中的说明进行操作,我也无法将 table 从 Vora 数据源添加到我的 HANA Express 数据库。另请参阅此屏幕截图:

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

您评论中的 link 指的是 Spark Controller,但在此 post/question 您使用的是 HANA Wire。两者都是从 Vora 添加虚拟表的有效方法。

您在这里遇到的问题已在 Vora troubleshooting guide

的第 3.3 节中得到解决

问题的根本原因:

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

为了能够在 HANA 中添加 Vora tables 作为虚拟 tables,您需要使用 tableschema 选项在 VORA 中创建 table。 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)");