【问题标题】:Update Mysql Column Values Using Spark Dataframe使用 Spark Dataframe 更新 Mysql 列值
【发布时间】:2015-09-07 20:55:33
【问题描述】:

我有一个 mysql 表(组合),它有以下两列(id,Status)和三条记录。

+----+--------+
| Id | Status |
+----+--------+
|  1 |      0 |
|  2 |      1 |
|  3 |      3 |
+----+--------+

我想将 Id=1 的状态列从 0 更新为 1

我在 spark scala 中尝试的是:

   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 列值。 任何指导都会有所帮助

提前致谢。

【问题讨论】:

    标签: mysql scala apache-spark dataframe


    【解决方案1】:

    我想将 Id=1 的状态列从 0 更新为 1

    更新使用UPDATE 而不是SELECT

    UPDATE portfolioDF
    SET status = 1
    WHERE id = 1;
    

    【讨论】:

    • 忘了提,我已经尝试过上面的更新命令,我收到的错误是线程“main”中的异常 java.lang.RuntimeException: [1.1] failure: ``with'' expected but identifier UPDATE 发现 UPDATE PortfolioDF SET status = 1 WHERE id = 1;
    猜你喜欢
    • 2018-01-26
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多