2017-07-06 51 views
0

我在HANA Express 2 SP 01中使用VM。在小型測試羣集上,我安裝了Hortonworks Data Platform 2.6和Spark 1.6 .3,並且還添加了HANA Vora 1.4和Spark Controller 2.1。SAP Vora:無法通過HANA Studio中的智能數據訪問將Vora表添加爲虛擬表

我遵循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控制器連接到SAP Vora),我也無法將Vora DataSource中的表添加到我的HANA Express數據庫。又見這個截圖:

enter image description here

+0

剛剛發現了這個問題:https://stackoverflow.com/questions/37045599/sap-hana-vora-1-2-cannot-load-as-virtual-table-in-hana -studio是否有適用於所有這些工具和版本的兼容性矩陣?我對所有不同的版本有點困惑。找不到實際的文檔... –

回答

1

關於java.lang.NoSuchMethodError,最有可能的錯誤蜂房jar文件附着。

評論中的鏈接引用了Spark控制器,但在本文中,您使用的是HANA Wire。這兩種都是從Vora添加虛擬表的有效方法。

您遇到這裏的問題是在問題的沃拉troubleshooting guide

+0

是的,故障排除指南第3.3節中的步驟爲我做了竅門! 我不得不改變1)將字符串轉換爲varchar(...)2)將int轉換爲整數3)將表名改爲大寫4)添加重複列的tableSchema定義。 非常感謝! –

+0

更新:你對錯誤的Hive jar的假設也是正確的。我必須採取* hive-jdbc- -standalone.jar *,例如,是爲我*「/ usr/hdp/2.6.1.0-129/hive2/jdbc/hive-jdbc-2.1.0.2.6.1.0-129-standalone.jar」*。我發現它與*「find/-name」配置單元jdbc \ *。jar「*!所以坦克回答這兩個問題,迪米特里! –

0

根本原因的第3.3節處理:

相關的SAP沃拉磁盤表或關係表中有數據類型的一列或多列STRING,VARCHAR(n)或CHAR(n),它們被隱式轉換爲VARCHAR()或CHAR()。但是,SAP HANA僅支持最大值爲VARCHAR(2000)或CHAR(5000)的這些數據類型,因此由於與Vora不兼容,SAP HANA將運行爲運行時異常。

爲了能夠將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)");