0

我正在使用带有 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 控制器连接到 SAP Vora)中的说明进行操作,我也无法将 Vora 数据源中的表添加到我的 HANA Express 数据库中。另请参阅此屏幕截图:

在此处输入图像描述

4

2 回答 2

1

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

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

您在此处遇到的问题已在 Vora故障排除指南的第 3.3 节中处理

于 2017-07-06T17:22:01.243 回答
0

问题的根本原因:

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

为了能够在 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)");
于 2018-02-07T05:27:49.543 回答