【问题标题】:spark Dataframe execute UPDATE statementspark Dataframe 执行 UPDATE 语句
【发布时间】:2016-02-02 10:56:27
【问题描述】:

大家好,

我需要使用 Apache Spark DataFrame 执行 jdbc 操作。 基本上我有一个名为Measures 的历史jdbc 表,我必须在其中执行两项操作:

1.将旧度量记录的 endTime 有效性属性设置为当前时间

2。插入一个新的测量记录设置 endTime 到 9999-12-31

谁能告诉我如何执行(如果可以的话)第一个操作的更新语句和第二个操作的插入?

我尝试在第一个操作中使用这个语句:

val dfWriter = df.write.mode(SaveMode.Overwrite)
dfWriter.jdbc("jdbc:postgresql:postgres", tableName, prop)

但它不起作用,因为存在重复的密钥违规。如果我们可以做更新,我们怎么做删除语句?

提前致谢。

【问题讨论】:

    标签: apache-spark sql-update sql-insert spark-dataframe


    【解决方案1】:

    我认为 Spark 还没有开箱即用地支持它。您可以使用 foreachRDD() 循环遍历数据帧/RDD 并使用 JDBC api 手动更新/删除表。

    这里是一个类似问题的链接: Spark Dataframes UPSERT to Postgres Table

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2018-03-20
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多