首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花执行器抛出错误"java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver“

火花执行器抛出错误"java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver“
EN

Stack Overflow用户
提问于 2017-12-01 11:06:44
回答 2查看 3.1K关注 0票数 0

我试图使用spark从我的oracle数据库导入一个表,这里我使用Scala导入该表。我的jdbc7.jar驱动程序是ojdbc7.jar,它在配置文件中添加了参数spark.driver.extraClassPath和spark.executor.extraClassPath

spark.driver.extraClassPath :/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/s hare/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*:/usr/share/aws/emr/security/conf:/usr/share/aws/emr/security/lib/*:/home/hadoop/ojdbc7.jar spark.driver.extraLibraryPath /usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native spark.executor.extraClassPath :/usr/lib/hadoop-lzo/lib/*:/usr/lib/hadoop/hadoop-aws.jar:/usr/share/aws/aws-java-sdk/*:/usr/share/aws/emr/emrfs/conf:/usr/s hare/aws/emr/emrfs/lib/*:/usr/share/aws/emr/emrfs/auxlib/*:/usr/share/aws/emr/security/conf:/usr/share/aws/emr/security/lib/*:/home/hadoop/ojdbc7.jar spark.executor.extraLibraryPath /usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native

我可以成功地导入这个表。我可以打印表的架构。但是,在执行诸如Count之类的任何操作时,它会抛出错误下面。

`

致因: java.lang.ClassLoader.findClass(ClassLoader.java:530):oracle.jdbc.OracleDriver at org.apache.spark.util.ParentClassLoader.findClass(ParentClassLoader.scala:26) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at org.apache.spark.util.ParentClassLoader.loadClass(ParentClassLoader.scala:34) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.spark.util.ParentClassLoader.loadClass(ParentClassLoaderorg.apache.spark.repl.ExecutorClassLoader.findClass(ExecutorClassLoader.scala:77) ( .scala:30) . 21

`

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-05 13:13:01

此错误是因为Spark无法从每个核心节点定位ojdbc7.jar。因此,将这个jar放置在/usr/lib/ So /jar这样的共享位置将解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2020-02-06 16:00:22

您也可以做一些其他的事情,包括将jar文件完整的位置作为一个依赖项添加到解释器中的spark部分中作为工件。

如果只希望%jdbc工作,那么在解释器下更新jdbc部分,将jar文件完整位置添加为依赖项下的工件,并相应地更新default.driver、default.url、default.user、default.password。

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

https://stackoverflow.com/questions/47592072

复制
相关文章

相似问题

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