compute() stores results in a remote temporary table.
collect() retrieves data into a local tibble.
collapse() is slightly different: it doesn't force computation, but
instead forces generation of the SQL query. This is sometimes needed to work
around bugs in dplyr's SQL generation.
compute(x, name = random_table_name(), ...) collect(x, ...) collapse(x, ...)
| x | A tbl |
|---|---|
| name | Name of temporary table on database. |
| ... | Other arguments passed on to methods |
All functions preserve grouping and ordering.
copy_to(), the opposite of collect(): it takes a local data
frame and uploads it to the remote source.
if (require(dbplyr)) { mtcars2 <- src_memdb() %>% copy_to(mtcars, name = "mtcars2-cc", overwrite = TRUE) remote <- mtcars2 %>% filter(cyl == 8) %>% select(mpg:drat) # Compute query and save in remote table compute(remote) # Compute query bring back to this session collect(remote) # Creates a fresh query based on the generated SQL collapse(remote) }#>#> #>#> #> #>#> # Source: SQL [?? x 5] #> # Database: sqlite 3.30.1 [:memory:] #> mpg cyl disp hp drat #> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 18.7 8 360 175 3.15 #> 2 14.3 8 360 245 3.21 #> 3 16.4 8 276. 180 3.07 #> 4 17.3 8 276. 180 3.07 #> 5 15.2 8 276. 180 3.07 #> 6 10.4 8 472 205 2.93 #> 7 10.4 8 460 215 3 #> 8 14.7 8 440 230 3.23 #> 9 15.5 8 318 150 2.76 #> 10 15.2 8 304 150 3.15 #> # … with more rows