首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出dsx环境中的jars以及加载到spark中的jars?

如何列出dsx环境中的jars以及加载到spark中的jars?
EN

Stack Overflow用户
提问于 2017-09-12 11:26:05
回答 1查看 377关注 0票数 0

我遇到了一些问题,试图使用星火包,例如:

代码语言:javascript
复制
java.lang.ClassNotFoundException: Failed to find data source: com.mongodb.spark.sql.DefaultSource

我在lib dir中列出了这些文件:

代码语言:javascript
复制
!find ~/data/libs/

我可以看到我的罐子被安装了:

代码语言:javascript
复制
/gpfs/fs01/user/xxxx/data/libs/
/gpfs/fs01/user/xxxx/data/libs/scala-2.11
/gpfs/fs01/user/xxxx/data/libs/scala-2.11/mongo-spark-connector_2.11-2.0.0.jar
/gpfs/fs01/user/xxxx/data/libs/scala-2.11/mongo-java-driver-3.2.2.jar
/gpfs/fs01/user/xxxx/data/libs/pixiedust.jar
/gpfs/fs01/user/xxxx/data/libs/spark-csv_2.11-1.3.0.jar

然而,这个错误意味着火花无法看到罐子。

我怎样才能列出可以引发火花的罐子呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-12 11:26:05

我创建了一个scala笔记本并运行了以下代码:

代码语言:javascript
复制
def urlses(cl: ClassLoader): Array[java.net.URL] = cl match {
  case null => Array()
  case u: java.net.URLClassLoader => u.getURLs() ++ urlses(cl.getParent)
  case _ => urlses(cl.getParent)
}

val  urls = urlses(getClass.getClassLoader)
println(urls.filterNot(_.toString.contains("ivy")).mkString("\n"))

归因:https://gist.github.com/jessitron/8376139

运行此操作会突出显示jvm加载mongodb驱动程序时出现的问题:

代码语言:javascript
复制
error: error while loading <root>, Error accessing /gpfs/fs01/user/xxxx/data/libs/scala-2.11/mongo-java-driver-3.2.2.jar
error: scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.

这让我意识到,虽然jar文件位于正确的位置,但并没有正确地加载到jvm中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46175194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档