写信给SAP HANA w…
通知
清除所有

使用dbWritetable用RJDBC写入SAP HANA非常慢,因为按记录插入

RSS

(@ganesh)
贵族成员
加入:1年前
帖子:1362
19/07/2021 12:57点
我试图写一个大数据集(10 cols, 100M记录)从R到SAP HANA使用RJDBC的dbWritetable如下方式

图书馆“RJDBC”drv<-JDBC“com.sap.db.jdbc.Driver”“/数据/ hdbclient / ngdbc.jar”“”数据库<-dbConnectdrv" jdbc: sap: / / servername”“用户”“通过”dbWriteTable数据库“大岛”大岛

这是可行的,但是非常慢(每小时75k条记录)。我也测试了RODBC (sqlsave),这显示了相同的问题。

看看后面的代码dbwritetable书写似乎是一份一份的记录(也就是insert into),实际上是一行一行地insert into usedbsendtable显示了相同的性能。我已经核实,问题不在于连接速度本身。

ROracle有builkwrite选项似乎解决了这个问题,但因为我试图写到HANA,我需要RJDBC或RODBC。

有人能告诉我如何通过运行一个大容量写或一些其他方法来加快对HANA的写吗?


报价
(@ganesh)
贵族成员
加入:1年前
帖子:1362
19/07/2021 59点

如果您的主要目标是加速,而不需要改变太多其他内容,那么您可以切换到sjdbc它在这方面比RJDBC性能要好得多(遗憾的是,这在近年来并没有得到太多关注)。

当我写这篇文章的时候凹口在美国,西蒙似乎刚刚找到了它,并在一周前发布了一个新的版本。这实际上包括了一个改进dbsendupdate

https://cran.r-project.org/web/packages/RJDBC/NEWS


回复报价
分享:
Baidu