2013-04-13 100 views
1

我有一个约5M行的表格。注意这只是一个poc。最终我们需要在结核病范围内。我正在进行自我加入,以便找到产品的排列以进行购物篮分析。BigQuery - 随机错误

我需要找出篮子中出现组合的次数,出现次数与篮子总数的比率,以及出现在所有篮子中的出现次数。这是非常标准的。 BigQuery不支持在另一个select的谓词中进行选择,因此我需要创建另一个连接。以下是我想出了 -

select twoItem.upc1,twoItem.upc2,twoItem.twoItemOccurrences, totalUpc.totalUpcCount 
from 
(
    select purchase1.upc as upc1,purchase2.upc as upc2,count(upc1) as twoItemOccurrences 
    from 
    conagra.purchase as purchase1 
    join each conagra.purchase as purchase2 
    on purchase1.upc = purchase2.upc 
    group by upc1,upc2 
) as twoItem 
JOIN EACH 
(
    select purchase3.upc as upc3, count(*) as totalUpcCount 
    from conagra.purchase as purchase3 
    group by upc3 
) as totalUpc 
on totalUpc.upc3 = twoItem.upc1 
LIMIT 50; 

我得到以下错误:

SHUFFLE BY may only be applied to parallelizable queries, but query is not parallelizable: (SELECT * FROM (SELECT [purchase3.upc] AS [upc3], COUNT(*) AS [totalUpcCount]...

也许未发表的限制吗?

任何帮助,将不胜感激。

回答

1

尝试在你的内部查询中运行这些与​​。我们将改进此类查询的响应消息。

+0

我有一个类似的查询报告相同的错误。把我所有的'GROUP BY'变成'GROUP BY BY BY'没有帮助。 @ michael-manoochehri你能分享可能造成这种情况的原因吗? – Wei

+0

你能给我更多关于查询类型的信息吗? –

+0

我的查询很长。看看这可以帮助你找到查询: 资料集: “_b4baa84cc768743eba28472b9c2ad40ecf37c576” 专案编号: “876515819216” TABLEID: “anonfaff8cc9_a5fc_4421_8da0_02289266765b”。如果没有,我可以发送确切的查询给你。 – Wei