【问题标题】:Connecting Pyspark to Oracle SQL将 Pyspark 连接到 Oracle SQL
【发布时间】:2017-11-25 12:18:55
【问题描述】:

我几乎是 spark 新手。我想将 pyspark 连接到 oracle sql,我正在使用以下 pyspark 代码:

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

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

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: apache-spark jdbc apache-spark-sql oracle-sqldeveloper ojdbc


    【解决方案1】:

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

    【讨论】:

    • 它是说:调用o29.load时发生错误。:java.sql.SQLRecoverableException:IO错误:网络适配器无法建立连接。
    • 你知道可能是什么原因吗?
    • @zahrarabiei stackoverflow.com/questions/12574414/… ; stackoverflow.com/questions/18037440/…(和其他人);因为您似乎在您的问题中匿名了 JDBC url,所以我无法进一步回答。如果这些链接没有帮助,请先尝试谷歌搜索,否则发布一个新问题。
    【解决方案2】:

    尝试将 oracle JDBC 连接 jar 放在 spark 下的 jars 文件夹中

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 2022-10-18
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多