2017-07-06 4 views
0

J'utilise une machine virtuelle avec HANA Express 2 SP 01. Sur un petit cluster de test, j'ai installé Hortonworks Data Platform 2.6 avec Spark 1.6 .3, et également ajouté HANA Vora 1.4 et le Spark Controller 2.1. J'ai suivi le guide d'installation et d'administration de SAP Vora: https://help.sap.com/http.svc/rc/f09ec811fe634f588647c342cac84c38/1.4/en-US/SAP_Vora_Installation_Admin_Guide_1.4_en.pdf jusqu'au chapitre 2.9. Tout fonctionne très bien, mais la partie Zeppelin avec l'interprète% jdbc:SAP Vora: Impossible d'ajouter la table Vora en tant que table virtuelle via Smart Data Access dans HANA Studio

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

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

Ici je reçois un NoSuchMethodError. Toutefois, si je suis les instructions du chapitre suivant (2.9 Connecter SAP HANA Spark Controller à SAP Vora), je ne peux pas non plus ajouter une table de la source de données Vora à ma base de données HANA Express. Voir aussi cette capture d'écran:

enter image description here

+0

Je viens de trouver cette question: https://stackoverflow.com/questions/37045599/sap-hana-vora-1-2-cannot-load-as-virtual-table-in-hana -studio Existe-t-il une matrice de compatibilité pour tous ces outils et versions? Je suis un peu confus par toutes les différentes versions. Impossible de trouver un document réel ... –

Répondre

1

En ce qui concerne la java.lang.NoSuchMethodError, très probablement le mauvais fichier jar Ruche a été attaché.

Le lien dans votre commentaire se réfère au contrôleur Spark, mais dans ce message/question, vous utilisez le fil HANA. Les deux sont des méthodes valides d'ajout de tables virtuelles à partir de Vora.

Le problème que vous rencontrez ici est traitée à la section 3.3 du Vora troubleshooting guide

+0

Oui, les étapes de la section 3.3 du guide de dépannage ont fait l'affaire pour moi! Je devais changer 1) la chaîne en varchar (...) 2) l'int en entier 3) le nom de la table en majuscule et 4) ajouter la définition tableSchema qui répétait les colonnes. Merci beaucoup! –

+0

Mise à jour: Votre hypothèse sur le mauvais pot Hive était également juste. J'ai dû prendre le * hive-jdbc- -standalone.jar *, qui par exemple. était pour moi * "/ usr/hdp/2.6.1.0-129/hive2/jdbc/hive-jdbc-2.1.0.2.6.1.0-129-standalone.jar" *. Je l'ai trouvé avec * "find/-name" hive-jdbc \ *. Jar "*! Donc les tanks répondant aux deux questions, Dimitri! –

0

cause racine du problème:

Le tableau disque SAP correspondant Vora ou d'une table relationnelle a une ou plusieurs colonnes de type de données STRING, VARCHAR (n) ou CHAR (n), qui sont implicitement convertis en VARCHAR () ou en CHAR (). Cependant, SAP HANA ne prend en charge que ces types de données jusqu'à une taille maximale VARCHAR (2000) ou CHAR (5000) et, par conséquent, SAP HANA rencontrera une exception d'exécution en raison d'une incompatibilité avec Vora. Pour pouvoir ajouter des tables Vora en tant que tables virtuelles dans HANA, vous devez créer une table dans VORA avec l'option tableschema. exemple PFB créer:

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