1

約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]...

もしかして非公開限定?

どんな助けでも大歓迎です。

4

1 に答える 1

1

これらをGROUP EACH BY内部クエリで実行してみてください。このようなクエリに対する応答メッセージを改善します。

于 2013-04-13T18:35:38.523 に答える