約5M行のテーブルがあります。これは単なる poc であることに注意してください。最終的には、TB 範囲内に収まる必要があります。私は自己結合を行って、マーケット バスケット分析用の製品の順列を見つけています。
組み合わせがバスケットに出現する回数、バスケット全体に対する出現率、およびすべてのバスケットにアイテムが出現する回数を見つける必要があります。これはかなり標準的です。BigQuery は別の選択の述語での選択をサポートしていないため、別の結合を作成する必要があったと思います。これが私が思いついたものです-
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
並列化可能なクエリにのみ適用できますが、クエリは並列化できません:(SELECT * FROM (SELECT [purchase3.upc] AS [upc3], COUNT(*) AS [totalUpcCount]...
もしかして非公開限定?
どんな助けでも大歓迎です。