无法在spark 2.3中使用常见列名连接jdbc表

时间:2018-04-06 00:28:10

标签: apache-spark apache-spark-sql spark-jdbc

在早期版本的spark中我有两个sql表,

t1: (id, body)
t2: (id, name)

我可以查询它们:

spark.read.jdbc("t1 inner join t2 on t1.id = t2.id")
          .selectExpr("name", "body")

哪会生成以下查询:

 select name, body from t1 inner join t2 on t1.id = t2.id

但是使用spark 2.3我现在收到错误消息:

org.apache.spark.sql.AnalysisException: Found duplicate column(s) in the data schema: `id`

尽管事实上我永远不应该将该列加载到spark中。可能看起来选择可能不再被推送到数据库中了。

有没有解决这个问题的方法?

0 个答案:

没有答案