НачатьНачать бесплатно

Отправка — Получение — Очистка

Вы уже неоднократно использовали dbGetQuery(). Это виртуальная функция из пакета DBI, которая на практике реализована пакетом RMySQL. За кулисами выполняются следующие шаги:

  • Отправка указанного запроса с помощью dbSendQuery();
  • Получение результата выполнения запроса к базе данных с помощью dbFetch();
  • Очистка результата с помощью dbClearResult().

На этот раз откажемся от dbGetQuery() и реализуем шаги выше вручную. Это немного многословно, зато даёт возможность получать результат запроса по частям, а не весь сразу. Для этого достаточно указать аргумент n внутри dbFetch().

Это упражнение является частью курса

Промежуточный уровень: импорт данных в R

Посмотреть курс

Инструкции к упражнению

  • Изучите уже написанный вызов dbSendQuery(). Он выбирает комментарии пользователей с идентификатором больше 4.
  • Вызовите dbFetch() дважды. В первом вызове импортируйте только две записи из результата запроса, задав аргумент n равным 2. Во втором вызове импортируйте все оставшиеся записи (не указывайте n). В обоих случаях просто выведите полученные таблицы данных.
  • Очистите res с помощью dbClearResult().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Connect to the database
library(DBI)
con <- dbConnect(RMySQL::MySQL(),
                 dbname = "tweater",
                 host = "courses.csrrinzqubik.us-east-1.rds.amazonaws.com",
                 port = 3306,
                 user = "student",
                 password = "datacamp")

# Send query to the database
res <- dbSendQuery(con, "SELECT * FROM comments WHERE user_id > 4")

# Use dbFetch() twice



# Clear res
Редактировать и запускать код