我想知道的是,到底发生了什么,在抽油烟机下,当我过R上传数据,它原来是比MySQL工作台或KNIME方式快得多?
我处理数据,并且每天,我上传数据到一个MySQL服务器。我用来上传使用KNIME数据,因为它比用MySQL工作台上传快得多(选择表 - >“导入数据”)。
一些相关信息:该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)
因此,为了测试,我做了完全一样的过程中,使用相同的文件。它花了2分钟KNIME只有秒R.
一切都发生在引擎盖下!数据上传到DB取决于参数,诸如DB和工具,网络连通性,批量尺寸集,可用的工具和工具数据处理速度本身和可能一些更多的存储器之间的接口。在你的情况RMySQL包默认和KNIME使用的500批次大小只有1所以大概就是区别在哪里得来的。尝试在KNIME将它设置为500,然后进行比较。不知道MySQL工作台是如何工作的?