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