在尝试在 AWS EMR 上使用 Spark 从 Oracle 数据库读取数据时,
我收到此错误消息:
java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver。
有人可以告诉我是否有人遇到过这个问题以及他们是如何解决的吗?
pyspark --driver-class-path /home/hadoop/ojdbc7.jar --jars /home/hadoop/ojdbc7.jar
from pyspark import SparkContext, HiveContext, SparkConf
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.read.format("jdbc").options(url="jdbc:oracle:thin:user/pass@//10.200.100.142:1521/BMD", driver = "oracle.jdbc.driver.OracleDriver",
dbtable="S_0COORDER_TEXT_D").load()
虽然您没有提到您正在使用哪个版本的 Spark...您可以在下面尝试...
将 jar 导入到驱动程序和执行程序中。所以,你需要编辑conf/spark-defaults.conf
添加下面两行。
spark.driver.extraClassPath /home/hadoop/ojdbc7.jar
spark.executor.extraClassPath /home/hadoop/ojdbc7.jar
or
您可以在提交作业时尝试通过,如下例所示:
--conf spark.driver.extraClassPath /home/hadoop/ojdbc7.jar
--conf spark.executor.extraClassPath /home/hadoop/ojdbc7.jar
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)