PostgreSQL 9.6からScalaで次のコードを使用しているRDDのSpark 2.1.1にテーブルを読み込もうとしています。Spark JdbcRDDを使用してPostgreSQLテーブルを読み取るときにエラーが発生する
import org.apache.spark.rdd.JdbcRDD
import java.sql.DriverManager
import org.apache.spark.SparkContext
val sc = SparkContext.getOrCreate()
val rdd = new org.apache.spark.rdd.JdbcRDD(
sc,
() => {DriverManager.getConnection(
"jdbc:postgresql://my_host:5432/my_db", "my_user", "my_pass")},
sql = "select * from my_table",
0, 100000, 2)
はしかし、それは次のエラーを返して:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 1.0 failed 4 times, most recent failure: Lost task 0.3 in stage 1.0 (TID 7, 10.0.0.13, executor 1): org.postgresql.util.PSQLException: The column index is out of range: 1, number of columns: 0.
私は、最新のPostgreSQLのJDBCドライバを使用していると私はそれがデータベースagaisnt正しく認証されてチェックしています。
これが起こっているかどうか、または私が試してみることができる何らかのアイデアはありますか? spark documentation
The query must contain two
?
placeholders for parameters used to partition the results
と
lowerBound
the minimum value of the first placeholder param;upperBound
the maximum value of the second placeholder
から
のようになります。 "オフセット?制限MY_TABLEから*を選択します?"私が必要としていたもの、歓声! – ami232