spark Dataframe 执行更新语句
spark Dataframe execute UPDATE statement
伙计们,
我需要使用 Apache Spark DataFrame 执行 jdbc 操作。
基本上我有一个名为 Measures 的历史 jdbc table,我必须在其中执行两个操作:
1.将旧测量记录的endTime有效性属性设置为当前时间
2。插入一条新的测量记录,设置 endTime 为 9999-12-31
谁能告诉我如何执行(如果可以的话)第一个操作的更新语句和第二个操作的插入?
第一次操作我尝试使用这条语句:
val dfWriter = df.write.mode(SaveMode.Overwrite)
dfWriter.jdbc("jdbc:postgresql:postgres", tableName, prop)
但它不起作用,因为存在重复键冲突。如果我们可以做更新,我们如何做删除语句?
提前致谢。
我认为 Spark 尚未开箱即用地支持它。你可以做什么 它使用 foreachRDD() 循环遍历 dataframe/RDD 并使用 JDBC api.
手动 update/delete table
这里是 link 一个类似的问题:
伙计们,
我需要使用 Apache Spark DataFrame 执行 jdbc 操作。 基本上我有一个名为 Measures 的历史 jdbc table,我必须在其中执行两个操作:
1.将旧测量记录的endTime有效性属性设置为当前时间
2。插入一条新的测量记录,设置 endTime 为 9999-12-31
谁能告诉我如何执行(如果可以的话)第一个操作的更新语句和第二个操作的插入?
第一次操作我尝试使用这条语句:
val dfWriter = df.write.mode(SaveMode.Overwrite)
dfWriter.jdbc("jdbc:postgresql:postgres", tableName, prop)
但它不起作用,因为存在重复键冲突。如果我们可以做更新,我们如何做删除语句?
提前致谢。
我认为 Spark 尚未开箱即用地支持它。你可以做什么 它使用 foreachRDD() 循环遍历 dataframe/RDD 并使用 JDBC api.
手动 update/delete table这里是 link 一个类似的问题: