我在使用Spark中的自定义JDBC读取数据时遇到了问题。我该如何覆盖通过jdbc url推断出来的SQL方言?
涉及的数据库是vitess(https://github.com/youtube/vitess),它运行的是mysql变种,因此我想指定mysql方言。 jdbc url以jdbc:vitess/开头。
否则,DataFrameReader将推断出默认的方言,它使用"""作为引号标识符。结果,通过spark.read.jdbc发送的查询语句如下所示:
涉及的数据库是vitess(https://github.com/youtube/vitess),它运行的是mysql变种,因此我想指定mysql方言。 jdbc url以jdbc:vitess/开头。
否则,DataFrameReader将推断出默认的方言,它使用"""作为引号标识符。结果,通过spark.read.jdbc发送的查询语句如下所示:
这会选择字符串表示而不是列值,而实际上应该是这样的:Select 'id', 'col2', col3', 'etc' from table
Select id, col2, col3, etc from table