0
我有一个包含三个记录的以下两列(id,Status)的mysql表(组合)。使用Spark Dataframe更新Mysql列值
+----+--------+
| Id | Status |
+----+--------+
| 1 | 0 |
| 2 | 1 |
| 3 | 3 |
+----+--------+
我想更新从0状态列1 ID = 1
我试图在火花阶是什么:
val portfolio_id =1
val dbUrl ="jdbc:mysql://localhost:3306/test?user=root&password=root"
val prop = new java.util.Properties
prop.setProperty("user","root")
prop.setProperty("password","root")
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val portfolioDF=sqlContext.read.jdbc(dbUrl,"portfolio",prop)
portfolioDF.registerTempTable("portfolioDF")
val results =sqlContext.sql("SELECT status from portfolioDF where id="+portfolio_id)
//display the record
results.show()
//results.insertIntoJDBC(dbUrl, "portfolio", true);
现在我该怎样使用“结果“数据框来修改”状态“列值。 或者有任何其他的方式,我可以通过数据框修改mysql列值。 任何指导将有帮助
在此先感谢。
忘记提到,我已经尝试上述更新命令我收到的错误是线程“main”中的异常java.lang.RuntimeException:[1.1]失败:与''预期但标识符更新发现 UPDATE portfolioDF SET status = 1 WHERE id = 1; – user3792686