我正在使用Python客户端库在Google BigQuery中运行一个简单的SELECT
同步查询。我收到以下错误:
*** google.cloud.exceptions.Forbidden: 403 Response too large to return. Consider setting allowLargeResults to true
我正在使用run_sync_query()。
我这样做的方式是(剥离不必要的东西):
def run_query(query_str):
from google.cloud import bigquery
client = biquery.Client()
query = client.run_sync_query(query_str)
query.run()
return query.fetch_data()
我知道API documentation中有一个参数allowLargeResults
,但我不知道如何从客户端库中设置该参数。
答案 0 :(得分:1)
您可以这样设置:
query.allow_large_results = True
但是,如果设置allow_large_results
,则还必须指定目标表以将结果写入:
https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query.allowLargeResults
[可选]如果为true且查询使用旧版SQL方言,则允许查询 以极低的成本生成任意大的结果表 性能。需要设置destinationTable。对于标准SQL 查询时,将忽略此标志,并始终允许大结果。 但是,当结果大小超过时,您仍必须设置destinationTable 允许的最大响应大小。