加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 18:08:00 所属栏目:百科 来源:网络整理
导读:当我使用R开源时,如果不使用特定的包,则不可能处理大于RAM内存的数据集.所以我想知道是否有可能处理在PostgreSQL中应用PL / R函数的大数据集. 我没有找到任何关于此的文档. 正如Hong Ooi所提到的,PL / R将R解释器加载到PostgreSQL后端进程中.所以你的R代码正
当我使用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连接器具有此功能,所以它似乎可以完成.补丁欢迎;-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读