我试图在BigQuery中运行一个查询作业,并得到以下错误:
响应太大,无法返回。考虑在作业配置中将allowLargeResults设置为true
我知道我需要在我的作业配置中将allowLargeResults设置为True,但是还必须提供一个目标表字段。
我不想将查询的结果插入到特定的表中,只想在本地处理它。我该如何处理这种情况呢?
发布于 2016-09-06 11:17:35
我不想将查询的结果插入到特定的表中,只想在本地处理它。
想要澄清一下--所以希望您对使用目标表感到更好:
实际上,任何查询结果都会在某个表中结束!
如果结果小于128 UI BigQuery代表您创建临时表(在特殊数据集中,名称以下划线开头,因此它在Web数据集/表导航器中不可见)。
这个临时表可以使用24小时,如果您使用查询兑现,或者您甚至可以自己使用它,您只需要找到创建了哪个表就可以使用。您可以在API -目标表中找到这一点--正如我前面所说的,即使您没有设置特定的表,也是存在的。或者您可以在Web中找到它
当结果大于128 is时,必须设置目标表。在您的情况下,唯一的缺点是,您需要确保在不再需要该表之后删除它,否则您将支付存储费用。
您可以通过实际删除表-手动(在UI中)或以编程方式(API)来做到这一点。也可以在表(API)上设置过期日期。
发布于 2016-09-06 03:31:34
首先,如果它意味着它太大,那么可能大于128 it。您需要确保查询是准确的,如果确实要返回大数据的话。通常,人们在查询中会出错,比如连接爆炸、丢失时间过滤器以减少数据,或者缺少限制。
当您确信数据太大后,您需要写入一个表,然后导出到GCS,然后下载,然后处理它。
https://cloud.google.com/bigquery/docs/exporting-data#exportingmultiple
https://stackoverflow.com/questions/39346603
复制相似问题