Код работает с 1 разделом по умолчанию.После введения раздела на основе столбцов для соединения JDBC задание привело к ошибке StackOverflow.
sparkSession.read
.option("numPartitions",partitions)
.option("lowerBound",lowerBound)
.option("upperBound",upperBound)
.option("partitionColumn",partitionColumn)
.jdbc(jdbcConf.getProperty("connection_string"), tableName, jdbcConf)
.selectExpr(columns: _*)
.where(whereExpr)
Задание искры завершено с ошибкой StackOverflow.
StackTrace:
java.lang.StackOverflowError
at org.apache.spark.sql.catalyst.expressions.Canonicalize$$anonfun$expressionReorder$3.isDefinedAt(Canonicalize.scala:66)
at org.apache.spark.sql.catalyst.expressions.Canonicalize$$anonfun$expressionReorder$3.isDefinedAt(Canonicalize.scala:66)
at org.apache.spark.sql.catalyst.expressions.Canonicalize$.org$apache$spark$sql$catalyst$expressions$Canonicalize$$gatherCommutative(Canonicalize.scala:50)
at org.apache.spark.sql.catalyst.expressions.Canonicalize$$anonfun$org$apache$spark$sql$catalyst$expressions$Canonicalize$$gatherCommutative$1.apply(Canonicalize.scala:50)
at org.apache.spark.sql.catalyst.expressions.Canonicalize$$anonfun$org$apache$spark$sql$catalyst$expressions$Canonicalize$$gatherCommutative$1.apply(Canonicalize.scala:50)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
at scala.collection.immutable.List.foreach(List.scala:381)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:241)
at scala.collection.immutable.List.flatMap(List.scala:344)