我正在将 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/