繁体   English   中英

性能比较 cx_oracle 与 write.format('jdbc')

[英]Performance comparison cx_oracle vs write.format('jdbc')

谁能告诉我在 oracle 中插入哪种方式更具性能?

Write.format('jdbc') 模式还是使用 CX_Oracle?

在我的项目中,我遇到了他们使用 write.format('jdbc') 来插入和 CX_Oracle 来更新的情况,所以我正在考虑在同一个 CX_Oracle 连接上更改为 INSERT 和 UPDATE,你怎么看?

我曾研究过类似的用例。 这是我上一个项目的一些收获。

  1. write.format('jdbc')相比, cx_oracle非常慢。 我正在插入 1M 条记录,这两种方法之间存在巨大差异。 cx_oracle即使使用 executeMany 也无济于事。 我强烈推荐使用 spark JDBC。

  2. 即使在更新的情况下,我最终还是执行了删除(SQL 查询)-插入(使用 pyspark),因为无法在 spark 中实现更新,而且替代方案非常慢。

  3. Spark 在插入数据库时也会进行并行写入。

  4. 即使对于读取操作,使用 spark jdbc read 因为 spark 将优化作业并直接在 DB 发送投影和过滤。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM