我正在尝试编写将Spark DataFrame保存到Oracle。保存工作正常,但性能似乎很差。
我尝试过两种方法
dfToSave.write().mode(SaveMode.Append).jdbc(…)
- 我想这会在内部使用以下API。JdbcUtils.saveTable(dfToSave,ORACLE_CONNECTION_URL, "table",props)
对于400/500行DataFrame的大小,两者似乎花了很长时间,超过3分钟。
我遇到了JIRA SPARK-10040,但是说它已经在1.6.0中得到了解决,我也在使用它。
任何人都遇到过这个问题并知道如何解决它?
答案 0 :(得分:0)
我可以告诉你我发生了什么事。我关闭了分区以查询数据库,因此以前的性能处理(PPP)变得非常慢。但是,由于我的数据集仅在我将其发布回数据库时才收集,因此我(像您一样)认为spark API,驱动程序,连接,表结构,服务器配置等都存在问题。但是,不,您只需要在查询后重新分区即可。