当我使用R开源时,如果不使用特定的包,则不可能处理大于RAM内存的数据集。所以我想知道是否有可能处理在PostgreSQL中应用PL / R函数的大数据集。
我没有找到任何关于此的文件。
答案 0 :(得分:11)
如Hong Ooi所述,PL / R将R解释器加载到PostgreSQL后端进程中。所以你的R代码正在“在数据库中”运行。
没有通用的方法来处理内存限制,但至少有两种可能的选择:
请参阅此处的PL / R文档:http://www.joeconway.com/plr/doc/index.html
我猜你真正想要的是一个data.frame,其中数据被分页到底层数据库游标以及透明地传递给你的R代码。这是我长期的TODO,但遗憾的是我还没有时间来解决这个问题。我被告知Oracle的R连接器具有此功能,所以它似乎可以完成。欢迎补丁; - )
答案 1 :(得分:1)
没有。 PL / R只是启动一个单独的R进程来运行你的R代码。这与您在命令行中使用的二进制文件和可执行文件完全相同,因此所有标准限制仍然适用。