2013-04-13 5 views
1

나는 약 5M 행의 테이블을 가지고 있습니다. 이것은 단지 poc 일뿐입니다. 궁극적으로 우리는 TB 범위에 있어야합니다. 시장 바구니 분석을 위해 제품의 순열을 찾기 위해 자체 조인을하고 있습니다.BigQuery - 셔플 오류로 인해

조합이 바구니에서 발생하는 횟수, 전체 바구니에 대한 발생 비율 및 모든 바구니에서 항목이 발생한 횟수를 찾아야합니다. 이것은 꽤 표준입니다. BigQuery는 다른 select의 조건 자에서 select를 지원하지 않으므로 내가 생각한 또 다른 join을 생성해야했습니다. 여기에 내가 무엇을 최대 온의 -

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

내부 쿼리에 GROUP EACH BY으로 실행 해보십시오. 이와 같은 쿼리에 대한 응답 메시지가 개선 될 것입니다.

+0

동일한 오류를보고하는 비슷한 쿼리가 있습니다. 모든 'GROUP BY'를 'GROUP BY YOU BY'로 바꾸는 것은 도움이되지 않았습니다. @ michael-manoochehri이 문제를 일으킨 원인을 공유 할 수 있습니까? – Wei

+0

쿼리 유형에 대한 자세한 정보를 제공 할 수 있습니까? –

+0

내 쿼리가 꽤 오래되었습니다. 이 쿼리를 찾는 데 도움이 될 수 있습니다 경우 참조 : datasetId "_b4baa84cc768743eba28472b9c2ad40ecf37c576" projectId "876515819216" TABLEID "anonfaff8cc9_a5fc_4421_8da0_02289266765b을". 그렇지 않으면 정확한 질문을 이메일로 보내 줄 수 있습니다. – Wei

관련 문제