gpt4 book ai didi

apache-spark - spark Dataframe 执行更新语句

转载 作者:行者123 更新时间:2023-12-04 13:45:23 26 4
gpt4 key购买 nike

大家好,

我需要使用 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)

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

提前致谢。

最佳答案

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

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

关于apache-spark - spark Dataframe 执行更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35151528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com