【问题标题】:Truncate Oracle table using Spark使用 Spark 截断 Oracle 表
【发布时间】:2020-06-19 18:27:40
【问题描述】:

我的第一个问题在这里!

我正在学习 Spark,到目前为止非常棒。现在我正在使用 DF.write.mode(“append”).jdbc 向 Oracle 写一些 DF

现在,我需要截断表格,因为我不想追加。如果我使用“覆盖”模式,它将删除表并创建一个新表,但我必须重新授予用户才能访问它。不好。

我可以使用 spark SQL 在 Oracle 中执行截断之类的操作吗?公开征求意见!谢谢你的时间。

【问题讨论】:

    标签: oracle apache-spark jdbc apache-spark-sql


    【解决方案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,因为并非所有引擎都支持它

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2020-07-14
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多