从 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
使用 Apache Spark 1.4.0 写入 Oracle 数据库
无法在 ipython 中正确创建 spark 上下文以链接到 MySQL - com.mysql.jdbc.Driver