Допустим, я собираюсь построить следующую сводную таблицу:
// count by age
age male female
1-25 18 23
26-100 19 10
Для этого я могу выполнить базовую агрегацию, подобную этой:
SELECT age, gender, count(*) GROUP BY age, gender
И получить результатынапример:
gender age count
male 1-25 18
male 26-100 19
male 1-25 23
male 26-100 10
И затем я могу «построить результаты» вне BigQuery / SQL (например, в javascript или даже в pandas), чтобы получить сводный результат.
Однако ястолкнуться с проблемой, когда значения не могут быть просто «сложены» или вычислены каким-то простым способом.Например:
// distinct users by country
country male female
us 192,293 64,000
jp 1,203,203 1,000,000
Есть ли способ получить значение в BigQuery, чтобы мы могли выполнить этот расчет вне BigQuery?Здесь я разместил предыдущий вопрос, где кажется, что вы не можете использовать HLL_COUNT
, так как это не , доступное за пределами .[Или есть какой-то другой тип алгоритма, который можно применять для создания какого-то уникального эскиза, который можно объединить вне SQL?].
Или есть другой подход к построению сводных результатов (вне BigQuery), которыйМне не хватает?
Обновление : Приведенные выше примеры служат для краткого обзора проблемы.Фактические сводные запросы будут выглядеть следующим образом: Получите лучшие страны патентов, коды в общедоступном наборе данных BQ , по осям X и Y.