【问题标题】:How to execute select query on oracle database using pi spark?如何使用 pi spark 在 oracle 数据库上执行选择查询?
【发布时间】: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()

现在我不想加载整个表数据。我想加载选定的记录。我可以将选择查询指定为该命令的一部分吗?如果是怎么办?

注意:我可以使用数据框并在其顶部执行选择查询,但我不想这样做。请帮忙!!

【问题讨论】:

    标签: oracle scala apache-spark pyspark bigdata


    【解决方案1】:

    您可以在dbtable 选项中使用子查询

    .option("dbtable", "(SELECT * FROM tableName) AS tmp where x = 1")
    

    Here 是类似的问题,但关于 MySQL

    【讨论】:

      【解决方案2】:

      一般来说,优化器应该能够下推任何相关的 select 和 where 元素,所以如果你现在执行 df.select("a","b","c").where("d

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-24
        • 2015-03-13
        • 2021-08-08
        • 2018-07-31
        • 2012-07-17
        • 1970-01-01
        相关资源
        最近更新 更多