Scala で Spark-jdbc を使用して MS SQL サーバーからデータを読み取り、指定された列でこのデータを分割したいと考えています。パーティション列の下限と上限を手動で設定したくありません。このフィールドの最大値と最小値を読み取って、上限/下限として設定できますか? また、このクエリを使用して、データベースからすべてのデータを読み取りたいと考えています。今のところ、クエリのメカニズムは次のようになります。
def jdbcOptions() = Map[String,String](
"driver" -> "db.driver",
"url" -> "db.url",
"user" -> "db.user",
"password" -> "db.password",
"customSchema" -> "db.custom_schema",
"dbtable" -> "(select * from TestAllData where dayColumn > 'dayValue') as subq",
"partitionColumn" -> "db.partitionColumn",
"lowerBound" -> "1",
"upperBound" -> "30",
"numPartitions" -> "5"
}
val dataDF = sparkSession
.read
.format("jdbc")
.options(jdbcOptions())
.load()