dbReadTable
преобразовать всю таблицу в data.frame
, что не является тем, что вы хотите сделать для таких больших таблиц.
Как сказал @cory, вам нужно извлечь необходимую информацию, используя SQL
запросов. Вы можете сделать это с помощью DBI
, используя комбинации dbSendQuery
, dbBind
, dbFetch
или dbGetQuery
.
Например, вы можете определить функцию для получения необходимых данных
filterBySQLString <- function(databaseDB,sqlString){
sqlString <- as.character(sqlString)
dbResponse <- dbSendQuery(databaseDB,sqlString)
requestedData <- dbFetch(dbResponse)
dbClearResult(dbResponse)
return(requestedData)
}
# write your query to get unique values
SQLquery <- "SELECT * ...
DISTINCT ..."
my_big_df <- filterBySQLString(myDB,SQLquery)
my_big_df <- unique(my_big_df)
Если вы не можете использовать SQL
, тогда у вас есть два варианта:
1) прекратить использование Rstudio и попытаться запустить код с терминала или через Rscript
.
2) усилить свой экземпляр