繁体   English   中英

为什么R上传数据比KNIME或Workbench快得多?

[英]Why does R upload data much faster than KNIME or Workbench?

我想知道的是,当我通过R上传数据时,到底发生了什么,它比MySQL Workbench或KNIME快得多?

我处理数据,每天都将数据上传到MySQL服务器。 我以前使用KNIME上载数据,因为它比使用MySQL Workbench上载要快得多(选择表->“导入数据”)。

一些信息:CSV有4000行和15列。 我在R中使用的库是RMySQL。 我在KNIME中使用的节点是数据库编写器。

library('RMySQL')

df=read.csv('C:/Users/my_user/Documents/file.csv', encoding = 'UTF-8', sep=';')

connection <- dbConnect(
    RMySQL::MySQL(),
    dbname = "db_name",
    host = "yyy.xxxxxxx.com",
    user = "vitor",
    password = "****"
)

dbWriteTable(connection, "table_name", df, append=TRUE, row.names=FALSE)

因此,为了测试,我使用相同的文件执行了完全相同的过程。 在KNIME中花了2分钟,在R中只花了几秒钟。

一切都在幕后发生! 数据上载到数据库取决于参数,例如数据库和工具之间的接口,网络连接,批处理大小设置,可用于工具和工具数据处理的内存本身的速度等等。 在您的情况下,RMySQL软件包默认使用500的批处理大小,而KNIME仅使用1的批处理大小,因此这可能是差异所在。 尝试在KNIME中将其设置为500,然后进行比较。 不知道MySQL Workbench是如何工作的...

暂无
暂无

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

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