我正在使用Spark與Scala並試圖使用JdbcRDD從數據庫獲取數據。沒有'?'的JDBC RDD查詢語句
val rdd = new JdbcRDD(sparkContext,
driverFactory,
testQuery,
rangeMinValue.get,
rangeMaxValue.get,
partitionCount,
rowMapper)
.persist(StorageLevel.MEMORY_AND_DISK)
在查詢中沒有?值設置(因爲查詢很長,我不會把它放在這裏)。所以我得到一個錯誤說,
java.sql.SQLException:參數索引超出範圍(1>參數的數量,它是0)。
我不知道是什麼問題。有人可以提出任何類型的解決方案?
因此,如果我將它設置爲JdbcRDD構造函數中的一個分區,那麼對於使用單個分區處理特定查詢的情況下,它將不會拆分它,並且邊界將是最小值和最大值? @gasparms – igalbenardete 2015-02-11 11:51:19
我不明白,如果你想讓Spark取最小值和最大值,你應該創建一個類似於「SELECT * FROM student_info WHERE id> =?AND id <=?」的查詢。 ?將被最小值和最大值替換。 – gasparms 2015-02-11 15:24:43