gpt4 book ai didi

python - BigQuery 中的allowLargeResults 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:05 25 4
gpt4 key购买 nike

当我执行这段Python代码时:

body = {
'configuration': {
'query': {
'destinationTable': {
'projectId': PROJECT_ID,
'tableId': 'new_items',
'datasetId': 'data_set'
},
'writeDisposition': 'WRITE_TRUNCATE',
'allowLargeResults': True,
'query': 'select item from data_set.items where item not in (select item from data_set.old_items);'
}
}
}
job = service.jobs().insert(projectId = PROJECT_ID, body = body).execute()

尽管将 allowLargeResults 设置为 True,我还是收到此错误:

Response too large to return. Consider setting allowLargeResults to true in your job configuration.

有人可以解释一下原因并给我一个如何消除这个错误的提示吗?

最佳答案

我怀疑此错误是由于查询生成结果的中间阶段之一造成的。最有可能的是 NOT IN 半连接中使用的 SELECT。我能想到的唯一解决方法是将查询重写为

select a.item from 
data_set.items a
left outer join each
data_set.old_items b
on a.item = b.item
where b.item IS NULL

NOT IN 半连接子句不允许使用 EACH 修饰符,但 LEFT OUTER JOIN 允许使用,这应该会使查询规模化。

关于python - BigQuery 中的allowLargeResults 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30192072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com