Kir*_*anK 5 python oracle hadoop apache-spark pyspark
在尝试使用 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()
Run Code Online (Sandbox Code Playgroud)
虽然您没有提到您正在使用哪个版本的 Spark...您可以在下面尝试...
将 jar 导入到驱动程序和执行程序中。因此,您需要编辑conf/spark-defaults.conf添加下面的两行。
spark.driver.extraClassPath /home/hadoop/ojdbc7.jar
spark.executor.extraClassPath /home/hadoop/ojdbc7.jar
Run Code Online (Sandbox Code Playgroud)
或者
您可以在提交作业时尝试通过,如下例所示:
--conf spark.driver.extraClassPath /home/hadoop/ojdbc7.jar
--conf spark.executor.extraClassPath /home/hadoop/ojdbc7.jar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8203 次 |
| 最近记录: |