1

我几乎是新的火花。我想连接pyspark到Oracle SQL,我现在用的是以下pyspark代码:将Pyspark连接到Oracle SQL

from pyspark import SparkConf, SparkContext 
from pyspark.sql import SQLContext, Row 
import os 

spark_config = SparkConf().setMaster("local").setAppName("Project_SQL") 
sc = SparkContext(conf = spark_config) 
sqlctx = SQLContext(sc) 

os.environ['SPARK_CLASSPATH'] = "C:\Program Files (x86)\Oracle\SQL Developer 4.0.1\jdbc\lib.jdbc6.jar" 


df = sqlctx.read.format("jdbc").options(url="jdbc:oracle:thin:@<>:<>:<>" 
            , driver = "oracle.ojdbc6.jar.OracleDriver" 
            , dbtable = "account" 
            , user="...." 
            , password="...").load() 

,但我得到了以下错误:

An error occurred while calling o29.load.: 
java.lang.ClassNotFoundExceotion : oracle.ojdbc6.jar.OracleDriver 

我搜索了很多,尝试几种方法,我发现更改/更正驱动程序的路径,但仍然得到相同的错误。

有谁能帮我解决这个问题吗?

回答

1

oracle.ojdbc6.jar.OracleDriver不是Oracle JDBC驱动程序的有效驱动程序类名称。司机的名字是oracle.jdbc.driver.OracleDriver。只要确保Oracle驱动程序的jar文件位于类路径中即可。

+1

这是说:调用o29.load时发生错误:java.sql.SQLRecoverableException:IO错误:网络适配器无法建立连接。 –

+0

你知道是什么原因吗? –

+0

@zahrarabiei https://stackoverflow.com/questions/12574414/io-error-the-network-adapter-could-not-establish-the-connection; https://stackoverflow.com/questions/18037440/the-network-adapter-could-not-establish-the-connection-oracle-11g(和其他人);因为你似乎在你的问题中匿名了JDBC url,所以我不能进一步回答。如果这些链接不起作用,请先尝试谷歌搜索,否则发布一个新问题。 –

-1

尝试放置在坛子里了Oracle JDBC连接下的jar文件夹火花

+0

我现在这样做了,还是一样的错误! –