2016-12-18 5 views
0

Я пытаюсь получить таблицу из BigQuery в Rstudio сервер со следующим:BigQuery Разрешить большие результаты не работают, когда

project <- "my-project" 
sql <- 'SELECT * FROM [my-project:dataset.table]' 
data <- query_exec(sql, project = project, max_pages = Inf) 

Error: Response too large to return. Consider setting allowLargeResults to true in your job configuration. For more details, see https://cloud.google.com/bigquery/querying-data#largequeryresults

Я проверил «Разрешить большие результаты» при настройке таблицы в браузере по-прежнему получают ту же ошибку.

Использовал также следующее, но безуспешно.

bq query --allow_large_results --destination_table=dataset.table1 "select x, y, z from dataset.table" 

ответ

1

В общем, когда вы получите эту ошибку, вы должны установить allowLargeResults в истинны и указать таблицу назначения. Вы можете найти объяснение в ссылке, указанной в сообщении об ошибке:

Normally, queries have a maximum response size. If you plan to run a query that might return larger results, you can set allowLargeResults to true in your job configuration. Configuring large results requires you to specify a destination table. You incur storage charges for the destination table.

В вашем случае, я думаю, вы используете bigrquery пакет. Если это так, то функция query_exec имеет необязательный аргумент с именем destination_table, чье описание:

(optional) destination table for large queries, either as a string in the format used by BigQuery, or as a list with project_id, dataset_id, and table_id entries

Таким образом, используя этот аргумент, вы можете предоставить таблицу назначения (и неявно устанавливается allowLargeResults к истинным), так что вы должны использовать:

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") 

Просто имейте в виду, что вы будете создавать новую таблицу под названием Новая_таблица в наборе данных.