在测试类中添加此行以禁用hive对我有效
override implicit def enableHiveSupport: Boolean = false
明白了:
https://github.com/holdenk/spark-testing-base/issues/148
快速而肮脏的黑客解决了这个问题
System.setSecurityManager(null)
无论如何,因为它与自动化测试有关,但它毕竟不是那么有问题;)
我已经解决了这个问题,排除了错误版本的Derby并包括在内 build.sbt :
build.sbt
project.settings(libraryDependencies ++= Seq( "org.apache.derby" % "derby" % "10.11.1.1" % Test) .map { case module if module.name.contains("spark") => module.excludeAll( ExclusionRule(organization = "org.apache.derby")) case module => module })
它不使用黑客攻击。只需手动依赖解析。
默认情况下,hive使用两个Metastores,首先使用一个元存储服务,然后使用默认情况下的metaore_db调用数据库,并使用derby。所以我认为你必须使用配置单元安装和配置derby。 但是我还没有在代码中看到使用hive。 我希望我的回答可以帮到你