微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PostgreSQL上运行PL / R时,R可以处理比RAM更大的数据吗?

当我使用R开源时,如果不使用特定的包,则不可能处理大于RAM内存的数据集.所以我想知道是否有可能处理在Postgresql中应用PL / R函数的大数据集.

我没有找到任何关于此的文档.

正如Hong Ooi所提到的,PL / R将R解释器加载到Postgresql后端进程中.所以你的R代码正在“在数据库中”运行.

没有通用的方法来处理内存限制,但至少有两种可能的选择:

>定义自定义Postgresql聚合,并使用您的PL / R函数
“最终”功能.通过这种方式,您可以分组处理
因此不太可能有记忆问题.有关更多详细信息,请参阅在线Postgresql文档和PL / R文档(我不经常发布到stackoverflow,所以不幸的是它不允许我发布实际的URL)
>使用安装的pg.spi.cursor_open和pg.spi.cursor_fetch函数
PL / R进入R解释器,以便以块的形式将数据分页到R函数中.

请参阅PL / R docs:http://www.joeconway.com/plr/doc/index.html

我猜你真正想要的是一个data.frame,其中数据被分页到底层数据库游标,并透明地传递给你的R代码.这是我长期的Todo,但遗憾的是我还没有时间来解决这个问题.我被告知Oracle的R连接器具有此功能,所以它似乎可以完成.补丁欢迎;-)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐