Я пытаюсь проанализировать данные, хранящиеся в базе данных SQL (сервер MS SQL) в R и в ма c. Типичные запросы могут возвращать несколько ГБ данных, а вся база данных - несколько ТБ. До сих пор я использовал пакет R odbc
, и он, кажется, работает довольно хорошо.
Однако dbFetch()
кажется очень медленным. Например, несколько сложный запрос возвращает все результаты за ~ 6 минут на сервере SQL, но если я запускаю его с odbc
, а затем пытаюсь dbFetch
, потребуется около часа, чтобы получить полные 4 ГБ в data.frame. Я пробовал извлекать куски, что помогает скромно: { ссылка }. Я задаюсь вопросом, есть ли другой способ более быстрой передачи данных на мою ма c, и мне здесь нравится мысль: Быстрое чтение очень больших таблиц в виде фреймов данных
Каковы некоторые стратегии для ускорения dbFetch
, когда результаты запросов представляют собой несколько ГБ данных? Если проблема заключается в создании объекта data.frame
из больших таблиц, можно ли сэкономить путем «выборки» другим способом? Есть ли другие пакеты, которые могут помочь?
Спасибо за ваши идеи и предложения!