在R中使用ffdf时出现内存不足错误

问题描述:

我想知道如何解决以下问题。 我在PostgreSQL中有一张表,里面有1亿行和4列,我想在R中使用ffdf。这里是我的代码在R中使用ffdf时出现内存不足错误

query <- "select * from ratings" 
drv <- dbDriver("PostgreSQL") 
rating.ff <- read.dbi.ffdf(query = query, 
          dbConnect.args=list(drv,user="postgres", 
               password="mypassword"), 
          verbose = TRUE) 

我得到以下错误:

Error en postgresqlExecStatement(conn, statement, ...) : 
    RS-DBI driver: (could not Retrieve the result : 
    out of memory for query result) 

有人能帮助我解决这个?

+1

也许阅读该函数的文档,并使用让您指定结果在...中获取的块大小的参数? – joran 2013-02-08 21:39:55

此消息来自RPostgreSQL包,表明您的查询太大而无法通过数据库设置进行处理。我不认为这是R内存问题,您需要调整数据库配置,以便它可以处理返回更大的结果集。