如何从 BigQuery 将大型数据集加载到 R?

hhh*_*hhh 5 r google-bigquery bigrquery

我尝试了两种使用Bigrquery包的方法

library(bigrquery)
library(DBI)

con <- dbConnect(
  bigrquery::bigquery(),
  project = "YOUR PROJECT ID HERE",
  dataset = "YOUR DATASET"
)
test<- dbGetQuery(con, sql, n = 10000, max_pages = Inf)
Run Code Online (Sandbox Code Playgroud)

sql <- `YOUR LARGE QUERY HERE` #long query saved to View and its select here
tb <- bigrquery::bq_project_query(project, sql)
bq_table_download(tb, max_results = 1000)
Run Code Online (Sandbox Code Playgroud)

但未能解决错误,这里"Error: Requested Resource Too Large to Return [responseTooLarge]"可能存在相关问题,但我对完成工作的任何工具感兴趣:我已经尝试了此处概述的解决方案,但它们失败了。

如何从 BigQuery 将大型数据集加载到 R?

Tem*_*emu 2

正如 @hrbrmstr 所建议的那样,文档特别提到:

> #' @param page_size The number of rows returned per page. Make this smaller
> #'   if you have many fields or large records and you are seeing a
> #'   'responseTooLarge' error.
Run Code Online (Sandbox Code Playgroud)

在 r-project.org 的文档中,您将在该函数的解释中读到不同的建议(第 13 页) :

这会检索 page_size 块中的行。它最适合较小查询的结果(例如 <100 MB)。对于较大的查询,最好将结果导出到存储在谷歌云上的 CSV 文件,并使用 bq 命令行工具在本地下载。