将Spark Dataframes写入Oracle数据库的性能问题

时间:2016-06-13 11:30:08

标签: apache-spark-sql spark-dataframe

我正在尝试编写将Spark DataFrame保存到Oracle。保存工作正常,但性能似乎很差。

我尝试过两种方法

  1. dfToSave.write().mode(SaveMode.Append).jdbc(…) - 我想这会在内部使用以下API。
  2. JdbcUtils.saveTable(dfToSave,ORACLE_CONNECTION_URL, "table",props)
  3. 对于400/500行DataFrame的大小,两者似乎花了很长时间,超过3分钟。

    我遇到了JIRA SPARK-10040,但是说它已经在1.6.0中得到了解决,我也在使用它。

    任何人都遇到过这个问题并知道如何解决它?

1 个答案:

答案 0 :(得分:0)

我可以告诉你我发生了什么事。我关闭了分区以查询数据库,因此以前的性能处理(PPP)变得非常慢。但是,由于我的数据集仅在我将其发布回数据库时才收集,因此我(像您一样)认为spark API,驱动程序,连接,表结构,服务器配置等都存在问题。但是,不,您只需要在查询后重新分区即可。

相关问题