0

在带有 Spark Controller 1.6 PL1 的 MapR 5.1/Spark 1.5.2 上的 SAP HANA Vora 1.2 中:

我已经配置了 Spark 控制器并启动了服务器。成功加载表,可以从 VORA 工具中看到。

在 SAP HANA Studio 中,我现在可以在其中看到我创建的文件夹“spark_velocity”和“M_JCUST”。当我尝试使用“添加为虚拟表”选项添加此表我的 HANA 文件夹时,我收到一个错误:

SAP DBTech JDBC: [476]: invalid remote object name: 
Unable to retrieve remote metadata for 
SparkSQL.spark_velocity.SparkSQL.spark_velocity.M_JCUST: line 0 col 0 (at pos 0)

/var/log/hanaes 如下:

16/11/01 20:11:37 INFO Utils:释放缓冲区 16/11/01 20:11:37 INFO DefaultSource:使用现有目录表创建 VoraRelation M_JCUST 16/11/01 20:11:37 INFO Utils:释放缓冲区 16/11/01 20:11:37 错误 HanaVoraCatalog:查找关系 java.lang.ClassCastException 发生异常:org.apache.spark.sql.sources.BaseRelationSource 无法转换为 org.apache.spark.sql org.apache.spark.sql.vora.hana.HanaVoraCatalog.getTableRelation (HanaVoraCatalog.scala:27​​) 处的 .sources.BaseRelation (HanaVoraCatalog.scala:27​​) 处 org.apache.spark.sql.hive.hana.CompositeCatalog$class.getTableRelation(HanaDBCatalog.scala: 99)在 org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:337) 的 org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:337) .sap.hana.spark.network.CommandHandler.handleMessage(CommandRouter.scala:516) at com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​2) at com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​0) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject .doAs(Subject.java:360) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1575) at com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2.applyOrElse(CommandRouter .scala:27​​0) at akka.actor.Actor$class.aroundReceive(Actor.scala:467) at com.sap.hana.spark.network.CommandHandler.aroundReceive(CommandRouter.scala:231) at akka.actor.ActorCell。在 akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) 在 akka.dispatch.Mailbox.run(Mailbox.scala) 的 akka.actor.ActorCell.invoke(ActorCell.scala:487) 的 receiveMessage(ActorCell.scala:516) :220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) : 16/11/01 20:11:37 错误命令处理程序: java.lang.NullPointerException at org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:347) at com.sap.hana.spark.network.CommandHandler.handleMessage(CommandRouter.scala:516)在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​2) 在 com.sap.hana.spark.network。CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​0) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:360) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1575) at com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2.applyOrElse(CommandRouter.scala:27​​0) atakka.actor。 Actor$class.aroundReceive(Actor.scala:467) at com.sap.hana.spark.network.CommandHandler.aroundReceive(CommandRouter.scala:231) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka .actor.ActorCell.invoke(ActorCell.scala:487) 在 akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) 在 akka.dispatch.Mailbox.run(Mailbox.scala:220) 在 akka。dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 16/11/01 20:11:37 错误 RequestOrchestrator: java.lang .NullPointerException at org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:347) at com.sap.hana.spark.network.CommandHandler.handleMessage(CommandRouter.scala:516) at com.sap .hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​2) 在 com.sap.hana。spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​0) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java :360) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1575) at com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2.applyOrElse(CommandRouter.scala:27​​0) at akka.actor.Actor$class.aroundReceive(Actor.scala:467) at com.sap.hana.spark.network.CommandHandler.aroundReceive(CommandRouter.scala:231) at akka.actor.ActorCell.receiveMessage(ActorCell.scala: 516)在akka.actor.ActorCell.invoke(ActorCell.scala:487)在akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)在akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool .java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

此问题与以下发布的问题相同: SAP HANA Vora 1.2:无法在 HANA Studio 中加载为虚拟表

但是,我使用 SAP HANA SPS12、带有 MapR 支持的 Spark Controller 1.6 PL1 并正确替换了 spark-sap-datasources-1.2.33-assembly.jar。

关于这个错误的任何建议?

感谢和问候法力

4

1 回答 1

1

由于 Spark Controller 1.6.1 PL1 和 Spark 1.5.2 之间不兼容,这是一个已知问题。目前计划在下一个 Spark 控制器版本中解决此问题(可能会更改)

于 2016-11-15T23:11:33.827 回答