gpt4 book ai didi

apache-spark - Spark overwrite 删除了 db2 中已有表的权限

转载 作者:行者123 更新时间:2023-12-04 04:01:38 31 4
gpt4 key购买 nike

我正在使用 spark 集群将 parquet 文件移动到 DB2 表中。这些 DB2 表是已定义和预制的,但是是空的。它还授予某些用户一些特权。但是,如果我在 spark 中使用此代码:

ds.get
.coalesce(1)
.write
.mode(SaveMode.Overwrite)
.jdbc(fullJdbcUrl, tableName, props)

为了移动 parquet 数据,它删除了授权状态(在 SYSIBMADM 中)并且似乎删除并创建了一个表,而不是使用已经存在的表。我不想使用 SaveMode.Append 因为在某些情况下可能已经有数据了。有没有一种方法可以删除 Spark 中表中的行(以便我可以在之后使用 Append),或者强制它使用已经创建的表?谢谢。

最佳答案

在 2.1 中,Spark 添加了对 truncate JDBC DataFrameWriter 的支持。

ds.get
.coalesce(1)
.write
.mode(SaveMode.Overwrite)
.option("truncate", true)
.jdbc(fullJdbcUrl, tableName, props)

这里是关于truncate的详细信息

关于apache-spark - Spark overwrite 删除了 db2 中已有表的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54026822/

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