sapvora:无法通过hanastudio中的智能数据访问将vora表添加为虚拟表

xytpbqjk  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(362)

我使用的是带有hana express 2 sp 01的虚拟机。在一个小的测试集群上,我安装了hortonworks数据平台2.6和spark1.6.3,还添加了hanavora1.4和sparkcontroller2.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章。一切正常,但齐柏林飞艇部分有%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数据源中的表添加到我的hana express数据库中。另请参见此屏幕截图:

hwamh0ep

hwamh0ep1#

问题的根本原因:
相关的sap vora磁盘表或关系表具有一列或多列数据类型string、varchar(n)或char(n),这些数据类型隐式转换为varchar()或char()。但是,sap hana只支持最大大小为varchar(2000)或char(5000)的这些数据类型,因此sap hana将由于与vora不兼容而运行时出现异常。
为了能够将vora表作为虚拟表添加到hana中,您需要使用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)");
6kkfgxo0

6kkfgxo02#

关于java.lang.nosuchmethoderror,很可能附加了错误的配置单元jar文件。
你评论中的链接是指spark控制器,但在这篇文章/问题中,你使用的是hana连线。这两种方法都是从vora添加虚拟表的有效方法。
您在这里遇到的问题在vora故障排除指南的第3.3节中进行了处理

相关问题