dplyr函数通常具有难以置信的性能,在经过开源R社区的优化之后,许多函数甚至在幕后运行c++以使它们更快。
通过bigrquery和dbplyr生成的bigrquery代码是否得到任何优化,或者它是否只是在它可以(未优化)的情况下生成该sql?(请注意,bigrquery和dbplyr,比如dplyr,也都是tidyverse包,都是由dplyr作者Hadley Wickham编写的)
背景
我感兴趣的是如何优化生成的BigQuery代码,因为我试图确定是否值得进一步优化手工编写的用bigrquery和dbplyr编写的批处理过程,重写了一些BigQuery代码(而不是使用这些包)。如果我不太可能看到很大的性能改进,我将不会花时间去做。
示例查询
以下是来自自述文件的
library(dplyr)
natality <- tbl(con, "natality")
natality %>%
select(year, month, day, weight_pounds) %>%
head(10) %>%
collect()发布于 2019-11-11 20:14:34
这可能取决于您要优化的是什么。运行时间或定价。
根据我的经验,我关注的是运行时间:
dbplyr确实包括一些基本的查询优化来自1.0.0版。但是,我使用的是dbplyr与server,而不是bigquery。所以你必须判断它对你的上下文有多好的概括。
https://stackoverflow.com/questions/58794798
复制相似问题