使用 Spark 截断 Oracle 表
Posted
技术标签:
【中文标题】使用 Spark 截断 Oracle 表【英文标题】:Truncate Oracle table using Spark 【发布时间】:2020-06-19 18:27:40 【问题描述】:我的第一个问题在这里!
我正在学习 Spark,到目前为止非常棒。现在我正在使用 DF.write.mode(“append”).jdbc
向 Oracle 写一些 DF
现在,我需要截断表格,因为我不想追加。如果我使用“覆盖”模式,它将删除表并创建一个新表,但我必须重新授予用户才能访问它。不好。
我可以使用 spark SQL 在 Oracle 中执行截断之类的操作吗?公开征求意见!谢谢你的时间。
【问题讨论】:
【参考方案1】:有一个选项可以让 Spark 截断目标 Oracle 表而不是删除它。你可以找到语法https://github.com/apache/spark/pull/14086
spark.range(10).write.mode("overwrite").option("truncate", true).jdbc(url, "table_with_index", prop)
根据 Spark、Oracle 和 JDBC 驱动程序的版本,您可以使用其他参数在级联上进行截断,如您在 https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html 中看到的那样
根据我的经验,这适用于某些数据库引擎,并且很大程度上取决于您使用的 JDBC,因为并非所有引擎都支持它
希望对你有帮助
【讨论】:
以上是关于使用 Spark 截断 Oracle 表的主要内容,如果未能解决你的问题,请参考以下文章
oracle针对truncate截断表之后要如何恢复数据?急啊!