sql - 不带 '?'的JDBC RDD查询语句

标签 sql scala jdbc apache-spark rdd

我正在将 Spark 与 Scala 结合使用,并尝试使用 JdbcRDD 从数据库中获取数据。

val rdd = new JdbcRDD(sparkContext,
    driverFactory,
    testQuery,
    rangeMinValue.get,
    rangeMaxValue.get,
    partitionCount,
    rowMapper)
    .persist(StorageLevel.MEMORY_AND_DISK)    

查询中没有?要设置的值(因为查询很长,所以我不会将其放在这里。)所以我收到一条错误消息,

java.sql.SQLException:参数索引超出范围(1 > 参数数量,即 0)。

我不知道问题是什么。有人可以建议任何类型的解决方案吗?

最佳答案

遇到同样的问题。 使用这个:

SELECT * FROM tbl WHERE ... AND ? = ?

然后用下界 1、上界 1 和分区 1 来调用它。 始终只运行一个分区。

关于sql - 不带 '?'的JDBC RDD查询语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28450674/

相关文章:

java - 无法连接到 MySql 数据库

scala - 在 sbt 中执行多个 Scalatest

sql - 如何在两个数据库之间双向同步表 - SQL Server 2008 R2

php - 表格的第一行未显示在下拉列表中

sql - 仅选择 MAX 日期记录

scala - 在加特林场景之外进行 Http 调用

scala - Spark 和 Scala 中的文本操作

java - JdbcOdbcPreparedStatement.setLong 抛出 java.sql.SQLException : Optional feature not implemented

java - 标准 XAConnectionHandle :prepareStatement should not be used outside an EJBServer

SQL ROWNUM 如何返回特定范围之间的行