У меня есть набор данных, который структурирован следующим образом:
[uid, product, currency, platform, date]
[100, product_1, USA, desktop, 2019-01-01]
[100, product_2, USA, desktop, 2019-01-03]
[200, product_3, CAN, mobile, 2019-01-02]
[300, product_1, GBP, desktop, 2019-01-01]
and so on...
Данные должны агрегироваться ежегодно:
[year, product, currency, platform, uid_count]
[2019, product_1, USA, desktop, 1000]
[2019, product_2, USA, desktop, 2000]
[2019, product_3, GBP, mobile, 5000]
После исследования решения, которое я прочитал об алгоритмах построения эскизов,которые, кажется, в правильном направлении.По сути, данные слишком велики для загрузки в одном пакете, поэтому мне нужно обрабатывать их постепенно, например, в день, чтобы я не выполнял SQL-запрос вроде:
SELECT year(date), product, currency, platform, count(distinct uid) FROM tbl_name GROUP BY 1, 2, 3, 4
ИЛИ
SELECT year(date), product, currency, platform, count(distinct uid) FROM tbl_name GROUP BY 1, 2, 3, 4
with cube