Почему R загружает данные намного быстрее, чем KNIME или Workbench? - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу знать, что, черт возьми, происходит под капотами, когда я загружаю данные через 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)

Итак, чтобы проверить, я проделал точно такой же процесс, используя тот же файл.Это заняло 2 минуты в KNIME и только секунды в R.

1 Ответ

0 голосов
/ 08 февраля 2019

Все происходит под капотом!Загрузка данных в БД зависит от таких параметров, как интерфейс между БД и инструментом, сетевое подключение, размер пакета, доступная память для скорости обработки данных инструмента и инструмента и, возможно, некоторые другие.В вашем случае пакет RMySQL по умолчанию использует размер пакета 500, а KNIME - только 1, так что, вероятно, именно в этом и заключается разница.Попробуйте установить его на 500 в KNIME, а затем сравнить.Понятия не имею, как работает MySQL Workbench ...

...