Błąd BigQuery „Odpowiedź zbyt duża, aby powrócić” przy użyciu COUNT (DISTINCT…)

Mam zestaw danych z ~ 20M wierszami i obserwuję następujące zachowanie.

Zapytanie poniżej zwraca błąd „Odpowiedź za duża, aby powrócić”. Pole „id” jest wspólne dla wielu rekordów, a pole „pole” ma dowolną wartość dla każdego rekordu. Spodziewam się, że zestaw wyników powinien zawierać tylko 10 wierszy, znacznie poniżej limitu odpowiedzi na zapytanie.

SELECT id, COUNT(DISTINCT field)
FROM [my.dataset]
GROUP BY id
LIMIT 10

Jednak po usunięciu słowa kluczowego DISTINCT z funkcji agregacji COUNT, BigQuery zwraca 10 wyników zgodnie z oczekiwaniami.

SELECT id, COUNT(field)
FROM [my.dataset]
GROUP BY id
LIMIT 10

Nie rozumiem, dlaczego pierwsze zapytanie zwraca błąd, a drugie kończy się pomyślnie. Czy oba zapytania nie powinny zwracać takiej samej liczby wierszy?

questionAnswers(1)

yourAnswerToTheQuestion