如何使用 pi spark 在 oracle 数据库上执行选择查询?
Posted
技术标签:
【中文标题】如何使用 pi spark 在 oracle 数据库上执行选择查询?【英文标题】:How to execute select query on oracle database using pi spark? 【发布时间】:2016-11-30 10:22:04 【问题描述】:我编写了一个使用 pyspark 连接到 oracle 数据库并获取数据的程序。下面的命令可以正常工作并返回表格的内容:
sqlContext.read.format("jdbc")
.option("url","jdbc:oracle:thin:user/password@dbserver:port/dbname")
.option("dbtable","SCHEMA.TABLE")
.option("driver","oracle.jdbc.driver.OracleDriver")
.load().show()
现在我不想加载整个表数据。我想加载选定的记录。我可以将选择查询指定为该命令的一部分吗?如果是怎么办?
注意:我可以使用数据框并在其顶部执行选择查询,但我不想这样做。请帮忙!!
【问题讨论】:
【参考方案1】:您可以在dbtable
选项中使用子查询
.option("dbtable", "(SELECT * FROM tableName) AS tmp where x = 1")
Here 是类似的问题,但关于 mysql
【讨论】:
【参考方案2】:一般来说,优化器应该能够下推任何相关的 select 和 where 元素,所以如果你现在执行 df.select("a","b","c").where("d
【讨论】:
以上是关于如何使用 pi spark 在 oracle 数据库上执行选择查询?的主要内容,如果未能解决你的问题,请参考以下文章
Spark Naive Bayes 模型持久性:理解 pi 和 theta