从 Spark 到 Oracle 服务器的 JDBC 连接

Posted

技术标签:

【中文标题】从 Spark 到 Oracle 服务器的 JDBC 连接【英文标题】:JDBC connection to Oracle server from Spark 【发布时间】:2018-08-15 18:52:15 【问题描述】:

当从 Spark 集群建立到 Oracle 服务器的连接时,到 Oracle 服务器的 JDBC 连接是从正在执行代码的节点/盒子建立还是从数据节点执行?在后面的情况下,是否需要在所有数据节点上安装驱动程序才能连接到 Oracle 服务器。

【问题讨论】:

【参考方案1】:

当从 Spark 集群建立到 Oracle 服务器的连接时,到 Oracle 服务器的 JDBC 连接是从正在执行代码的节点/盒子建立还是从数据节点执行?

数据总是从执行器节点加载。然而,驱动节点也需要访问数据库,才能获取元数据。

在以后的情况下,是否需要在所有数据节点上安装驱动程序才能连接到Oracle服务器。

是的。驱动程序必须存在于 Spark 应用程序使用的每个节点上。这可以通过以下方式完成:

在每个节点的类路径上都有所需的 jar。 使用spark.jars在运行时分发jar 使用spark.jars.packages 使用 Maven 坐标获取 jars。

【讨论】:

以上是关于从 Spark 到 Oracle 服务器的 JDBC 连接的主要内容,如果未能解决你的问题,请参考以下文章

java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection at oracle.jdb

使用 Spark 从 Oracle 导入数据

尝试从 Spark 连接到 Oracle

Java逆向基础之JDB动态调试

使用 Apache Spark 1.4.0 写入 Oracle 数据库

无法在 ipython 中正确创建 spark 上下文以链接到 MySQL - com.mysql.jdbc.Driver