【发布时间】:2022-01-18 14:47:23
【问题描述】:
谁能告诉我在 oracle 中插入哪种方式更高效?
Write.format('jdbc') 模式还是使用CX_Oracle?
在我的项目中,我遇到了他们使用 write.format('jdbc') 插入和 CX_Oracle 更新的情况,所以我正在考虑在同一个 CX_Oracle 连接上更改为插入和更新,你怎么看?
【问题讨论】:
-
AFAIK(我可能不正确),最好在使用 pyspark 时使用
df.write.format('jdbc'),而cx_oracle仅对 pandas 数据帧有帮助。单独使用 oracle(不需要 df)时,cx_oracle将帮助您直接在数据库中执行 sql 查询,而无需在 pyspark 环境中读取它。 -
我最近处理了一个类似的案例(免责声明:我为 Oracle 工作),并且 cx_Oracle 并不比使用 JDBC 写入快。客户最终同时使用了两者,但 cx_Oracle 仅用于行级插入更新和删除。
-
在较低级别,cx_Oracle 的
executeMany()对于插入或更新非常高效。我不知道这是如何通过 spark 访问的。
标签: python apache-spark pyspark apache-spark-sql