【问题标题】:Cannot create virtual table using HANA Studio无法使用 HANA Studio 创建虚拟表
【发布时间】: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:27​​2) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​0) 在 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:27​​0) 在 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:27​​2) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​0) 在 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:27​​0) 在 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:27​​2) 在 com.sap.hana.spark.network.CommandHandler$$anonfun$receive$2$$anon$1.run(CommandRouter.scala:27​​0) 在 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:27​​0) 在 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。

对这个错误有什么建议吗?

感谢和问候 法力

【问题讨论】:

    标签: sap hana vora


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 2015-12-15
      • 1970-01-01
      相关资源
      最近更新 更多