【发布时间】:2016-11-01 10:27:03
【问题描述】:
在带有 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:释放缓冲区 2001 年 16 月 11 日 20:11:37 错误 HanaVoraCatalog:查找关系中发生异常 java.lang.ClassCastException:org.apache.spark.sql.sources.BaseRelationSource 不能转换为 org.apache.spark.sq l.sources.BaseRelation 在 org.apache.spark.sql.vora.hana.HanaVoraCatalog.getTableRelation(HanaVoraCatalog.scala:27) 在 org.apache.spark.sql.hive.hana.CompositeCatalog$class.getTableRelation(HanaDBCatalog.scala:99) 在 org.apache.spark.sql.hive.hana.HanaSimpleCatalog.getTableRelation(SparkCatalog.scala:44) 在 org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:337) 在 com.sap.hana.spark.network.CommandHandler.handleMessage(CommandRouter.scala:516) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:272) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:270) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:360) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1575) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2.applyOrElse(CommandRouter.scala:270) 在 akka.actor.Actor$class.aroundReceive(Actor.scala:467) 在 com.sap.hana.spark.network.CommandHandler.aroundReceive(CommandRouter.scala:231) 在 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) 在 akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) : 16/11/01 20:11:37 错误命令处理程序: java.lang.NullPointerException 在 org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:347) 在 com.sap.hana.spark.network.CommandHandler.handleMessage(CommandRouter.scala:516) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:272) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:270) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:360) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1575) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2.applyOrElse(CommandRouter.scala:270) 在 akka.actor.Actor$class.aroundReceive(Actor.scala:467) 在 com.sap.hana.spark.network.CommandHandler.aroundReceive(CommandRouter.scala:231) 在 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) 在 akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 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 在 org.apache.spark.sql.hive.hana.HanaSQLContext.getTableMetaNew(HanaSQLContext.scala:347) 在 com.sap.hana.spark.network.CommandHandler.handleMessage(CommandRouter.scala:516) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:272) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:270) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:360) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1575) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2.applyOrElse(CommandRouter.scala:270) 在 akka.actor.Actor$class.aroundReceive(Actor.scala:467) 在 com.sap.hana.spark.network.CommandHandler.aroundReceive(CommandRouter.scala:231) 在 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) 在 akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 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)
此问题与以下发布的问题相同: SAP HANA Vora 1.2 : Cannot load as virtual table in HANA Studio
但是,我使用 SAP HANA SPS12、带有 MapR 支持的 Spark Controller 1.6 PL1 并正确替换了 spark-sap-datasources-1.2.33-assembly.jar。
对这个错误有什么建议吗?
感谢和问候 法力
【问题讨论】: