我正在尝试使用以下命令将BigQuery中的表检索到Rstudio服务器中:
project <- "my-project"
sql <- 'SELECT * FROM [my-project:dataset.table]'
data <- query_exec(sql, project = project, max_pages = Inf)
错误:响应太大而无法返回。考虑在作业配置中将allowLargeResults设置为true。有关详细信息,请参阅https://cloud.google.com/bigquery/querying-data#largequeryresults
我已检查过&#34;允许大结果&#34;在浏览器中配置表时,仍然会得到相同的错误。
使用以下内容但没有任何成功。
bq query --allow_large_results --destination_table=dataset.table1 "select x, y, z from dataset.table"
答案 0 :(得分:1)
通常,当您收到此错误时,必须将allowLargeResults
设置为true并指定目标表。您可以在错误消息提供的链接中找到解释:
通常,查询具有最大响应大小。如果你打算跑一个 查询可能返回更大的结果,您可以设置allowLargeResults 在您的工作配置中为true。 需要配置大结果 您要指定目的地表。你需支付存储费用 目的地表。
在您的情况下,我猜您使用的是bigrquery
包。如果是这样,函数query_exec
有一个名为destination_table
的可选参数,其描述为:
(可选)大型查询的目标表, 或者作为BigQuery使用的格式的字符串,或者作为列表 project_id,dataset_id和table_id条目
总之,使用此参数可以提供目标表(并隐式将allowLargeResults
设置为true),因此您应该使用:
project <- "my-project"
sql <- 'SELECT * FROM [my-project:dataset.table]'
data <- query_exec(sql, project = project, max_pages = Inf,
destination_table = "my-project:dataset.newtable")
请记住,您将在数据集中创建一个名为 newtable 的新表。