数据库 tbl 上的 dplyr 函数是本地执行还是远程执行?

Do dplyr functions on a database tbl execute locally or remotely?

我在本地使用了一段时间的 dplyr,我发现它是一个非常强大的工具。在我发现的许多介绍性演讲中展示的一件事是如何使用它通过其聚合函数summarizemutate, 等等。我明白它是如何将这些翻译成 sql 语句的,但不是那么多其他操作。

例如,如果我想作为 tbl 在数据库 table 上工作,并且我想 运行 通过 [=13] 我的管道结果的函数=],例如 glm,会 glm 以某种方式传输到数据库以 运行 在那里,或者数据是否必须下载(以任何简化形式)然后 glm 在本地是运行?

根据相关 table 的大小,这是一个重要的区别。谢谢!

任何 R 分析,对 glm() 的调用,都是 运行 本地的。正如@joran 在上面评论的那样,databases vignette, introductory documentation, development information 以及您可以在使用 dplyr 时找到的许多内容对于了解某些操作如何转换为 SQL 并在数据库系统上执行非常有用。我相信当首先完成支持 DB 的操作时,您可以通过在操作链的中间引入特定于 R 的分析来引发某些瓶颈。