Как отфильтровать по ценовому диапазону в кубе образца килина
Извините, я просто начинаю худеть кылин
Когда я выполняю sql select * from kylin_sales where price > 2
в образце куба kylin по умолчанию это не удалось с сообщением
ERROR while executing SQL "select * from kylin_sales where price > 2 LIMIT 50000": Can't find any realization. Please confirm with providers SQL digest: fact table DEFAULT.KYLIN_SALES,group by [],filter on[DEFAULT.KYLIN_SALES.PRICE],with aggregates[].
кто-нибудь знает причину? Спасибо
1 ответ
Kylin - это движок MOLAP (многомерная онлайн-аналитическая обработка). Он разделяет столбцы на измерения и меры, ожидает, что запросы будут фильтроваться по измерениям и возвращать агрегированные меры.
Ваш запрос select * from kylin_sales where price > 2
не работает, потому что price
не является размером, следовательно, не подходит для фильтрации. Также в запросе не выбираются агрегированные показатели.
Простой запрос MOLAP похож на select week_beg_dt, sum(price) from kylin_sales where meta_categ_name='Collectibles' group by week_beg_dt
Kylin также поддерживает специальный тип RAW
мера, которая позволяет фильтр, такой как price > 2
, но это не продемонстрировано примером куба.