使用 sparklyr 与 Oracle 数据库连接
use sparklyr with Oracle database connection
我想得到一些关于组合以下 R 包的方法的解释:
-odbc
: 用于连接现有的 Oracle 数据源
-sparklyr
:用于在独立的 Spark 集群上计算此数据
这是我所做的:
-在我的客户端计算机上,我使用 ODBC
R 包中的 dbConnect()
函数连接到现有的 Oracle 数据库。此 Oracle 数据库托管在 windows 服务器上。
我单独实现了一个 Spark 独立集群,其中一些计算机位于同一本地网络但与 windows 服务器隔离:通过使用这个 Spark 集群,我想使用 spark_connect()
的功能sparklyr
用于将我的客户端计算机(连接到我的 Oracle 数据库)连接到 Spark 集群的程序包。
作为简历,我的 objective 包括使用 spark 独立集群对存储在我的 oracle 数据库中的数据执行并行处理(例如 ml_regression_trees
)。
有人知道 sparklyr
上是否有直接执行所有这些操作的功能吗? (我的意思是:连接到Oracle数据库+用Spark处理大数据)
非常感谢您的帮助(欢迎提出任何建议!)
知道您要求的是 ODBC 方式,这里有一个 JDBC 解决方案(可能对其他用户有用,因为问题标题中没有提到 ODBC。
您需要将 ojdbc7.jar
放在某个地方(在本例中是在您的工作目录中,但我建议将其存储在中央并在此处提供路径)。
更改所需的值,如 spark_home
等。
如果您在客户端计算机上 运行 R(而不是集群中的边缘节点),则可以使用 Livy 连接到 Spark。
library(sparklyr)
library(RJDBC)
##### Spark
config <- spark_config()
### tell config location of oracle jar
config[["sparklyr.jars.default"]] <- "ojdbc7.jar"
### example spark_home
sc <- spark_connect(master = "yarn-client",
spark_home = "/usr/lib/spark",
version = "2.2.0",
config = config)
datspark <- spark_read_jdbc(sc, "table", options = list(
url = "jdbc:oracle:thin:@//<ip>:1521/<schema>",
driver = "oracle.jdbc.OracleDriver",
user = "user",
password = "password",
dbtable = "table"),
memory = FALSE # don't cache the whole (big) table
)
### your R code here
spark_disconnect(sc)
我想得到一些关于组合以下 R 包的方法的解释:
-odbc
: 用于连接现有的 Oracle 数据源
-sparklyr
:用于在独立的 Spark 集群上计算此数据
这是我所做的:
-在我的客户端计算机上,我使用 ODBC
R 包中的 dbConnect()
函数连接到现有的 Oracle 数据库。此 Oracle 数据库托管在 windows 服务器上。
我单独实现了一个 Spark 独立集群,其中一些计算机位于同一本地网络但与 windows 服务器隔离:通过使用这个 Spark 集群,我想使用 spark_connect()
的功能sparklyr
用于将我的客户端计算机(连接到我的 Oracle 数据库)连接到 Spark 集群的程序包。
作为简历,我的 objective 包括使用 spark 独立集群对存储在我的 oracle 数据库中的数据执行并行处理(例如 ml_regression_trees
)。
有人知道 sparklyr
上是否有直接执行所有这些操作的功能吗? (我的意思是:连接到Oracle数据库+用Spark处理大数据)
非常感谢您的帮助(欢迎提出任何建议!)
知道您要求的是 ODBC 方式,这里有一个 JDBC 解决方案(可能对其他用户有用,因为问题标题中没有提到 ODBC。
您需要将 ojdbc7.jar
放在某个地方(在本例中是在您的工作目录中,但我建议将其存储在中央并在此处提供路径)。
更改所需的值,如 spark_home
等。
如果您在客户端计算机上 运行 R(而不是集群中的边缘节点),则可以使用 Livy 连接到 Spark。
library(sparklyr)
library(RJDBC)
##### Spark
config <- spark_config()
### tell config location of oracle jar
config[["sparklyr.jars.default"]] <- "ojdbc7.jar"
### example spark_home
sc <- spark_connect(master = "yarn-client",
spark_home = "/usr/lib/spark",
version = "2.2.0",
config = config)
datspark <- spark_read_jdbc(sc, "table", options = list(
url = "jdbc:oracle:thin:@//<ip>:1521/<schema>",
driver = "oracle.jdbc.OracleDriver",
user = "user",
password = "password",
dbtable = "table"),
memory = FALSE # don't cache the whole (big) table
)
### your R code here
spark_disconnect(sc)