我正在尝试将Spark版本2.2.1更改为2.4.0
在Spark 2.2中,Following正常。
val query = "(select id, myPartitionColumnString from myTable) query"
val splitColumn = "CHECKSUM(myPartitionColumnString)"
spark.read.jdbc(jdbcUrl, query, splitColumn, lowerBound, upperBound, numPartitions, connectionProperties)
但是在Spark 2.4中,它会导致这样的错误
User-defined partition column CHECKSUM(myPartitionColumnString) not found in the JDBC relation: struct<id: int, myPartitionColumnString: string>
我确定CheckSum已定义。
最佳答案
他们在引入“通过直接SQL查询”功能期间将其删除。重大更改在2.4.0中引入。这更像是骇客,目前无法实现。您仍然可以在2.3 tho中获得它
PS:如果有人找到实现相同行为的另一种方法,请与我联系,我非常感兴趣