小编tmu*_*cha的帖子

为什么spark在sql查询的末尾附加'WHERE 1 = 0'

我正在尝试使用 Apache Spark 执行一个简单的 mysql 查询并创建一个数据框。但是由于某些原因,spark'WHERE 1=0'在我要执行的查询末尾追加并抛出异常声明'You have an error in your SQL syntax'.

val spark = SparkSession.builder.master("local[*]").appName("rddjoin"). getOrCreate()
 val mhost = "jdbc:mysql://localhost:3306/registry"
val mprop = new java.util.Properties
mprop.setProperty("driver", "com.mysql.jdbc.Driver")mprop.setProperty("user", "root")
mprop.setProperty("password", "root")
val q= """select id from loaded_item"""
val res=spark.read.jdbc(mhost,q,mprop)
res.show(10)
Run Code Online (Sandbox Code Playgroud)

例外如下:

18/02/16 17:53:49 INFO StateStoreCoordinatorRef: Registered StateStoreCoordinator endpoint
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql spark-dataframe

5
推荐指数
1
解决办法
3150
查看次数