【发布时间】:2021-08-19 08:09:27
【问题描述】:
我正在使用 Oracle 11G 试用 PySpark3.2.1。它失败并出现以下错误:
Py4JJavaError: An error occurred while calling o44.load.
: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
我的代码:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("PySpark_Oracle_Connection").getOrCreate()
driver = 'oracle.jdbc.OracleDriver'
url = 'jdbc:oracle:thin:@hostname:port/dbTEST'
user = 'myname'
password = 'mypswd'
table = 'mytable'
SPARK_CLASS_PATH = "C:\Oracle_Client\jdbc\lib\ojdbc8.jar"
df = spark.read.format('jdbc')\
.option('driver', driver)\
.option('url', url)\
.option('dbtable', table)\
.option('user',user)\
.option('password',password).load()
请尽快提供帮助。之前的帖子都翻过了,还是不行。
【问题讨论】:
-
通过
spark-submit提交spark应用时,您是否传递了这些参数---driver-class-path C:\Oracle_Client\jdbc\lib\ojdbc8.jar --jars C:\Oracle_Client\jdbc\lib\ojdbc8.jar -
我正在使用 Spyder 执行。我不是开发人员。我是统计学家,只是通过向谷歌学习来尝试 PySpark 作为外行。如何在 Spyder pls 中的 python 代码中传递这个?
-
不确定 Spyder,但如果您已正确安装和配置了 spark,那么您将能够使用
spark-submit命令运行 spark 应用程序。看看这个,还有一个 python 应用程序的信息 - spark.apache.org/docs/latest/submitting-applications.html -
所有这些链接都在谈论如何在 Spark 上使用 Python。我需要如何在 windows10 中使用 jodbs.jar 运行 PySpark 包。我没有单独安装 Spark spark,但是我的 Spark 是 Anaconda 环境中 PySpark 包的一部分 - ~Anaconda3\Lib\site-packages\pyspark –