Я большой поклонник использования MonetDBLite
вместе с dplyr
.Мое дополнение к ответу Ханнеса Мюлейзена (спасибо за упаковку!) Состояло бы в том, что, похоже, порядок загрузки пакетов может иметь значение.Загрузка MonetDBLite
после dplyr
и dbplyr
кажется мне ключевой.Загрузка MonetDBLite
сначала вызывает ошибки, подобные той, что отмечал nzgwynn.
Иногда я мог без проблем подключиться к базе данных.В других случаях я получаю сообщения об ошибках типа:
Ошибка в UseMethod ("db_query_fields"): нет применимого метода для db_query_fields, примененного к объекту класса "MonetDBEmbeddedConnection"
Как и nzgwynn, я был озадачен, почему это будет работать иногда, но не другие.Перезапуск и переустановка не обязательно исправят это для меня.
Эта подсказка из вопроса, поданного о sparklyr
, привела меня к изучению порядка загрузки пакетов:
https://github.com/rstudio/sparklyr/issues/38
Как отмечалось здесь с sparklyr
, и как я заметил с другими пакетами базы данных R, MonetDBLite
будет загружаться и присоединяться автоматически, если Глобальная среда уже содержит объект подключения.Моя проблема заключалась в том, что у меня в рабочей области был объект src_monetdb
, что вызывало загрузку MonetDBLite
при запуске RStudio.Поэтому я думал, что загружаю его после dplyr
и dbplyr
, но сначала он действительно загружался.Если я очищаю рабочее пространство и затем перезагружаюсь, я могу загрузить пакеты в предпочтительном порядке.Пока что этот метод сработал.
Я видел, что начинать с чистого рабочего пространства рекомендуется в качестве хорошей практики, например: https://twitter.com/hadleywickham/status/561146907519500288. Начиная с нового рабочего пространства, вы не теряете времени и при наличии способности быстрого запроса MonetDBLite
.
Наконец, я бы добавил энтузиазм по поводу использования MonetDBLite.Я увидел, что это упомянуто на странице базы данных RStudio , и сразу же был впечатлен тем, насколько легко его настроить и насколько быстро.Это лучший способ, который я нашел для работы с набором данных ~ 2 ГБ в R. При интерактивном исследовании данных запросы dplyr
выполняются настолько быстро, что создается впечатление, будто я работаю с данными в памяти.И если все, что я хочу сделать, это загрузить весь набор данных в память, MonetDBLite
работает быстрее или быстрее, чем другие методы, которые я пробовал, например read.fst()
из пакета fst
.