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?