Apache Kylin — меры нулевого значения становятся нулями?

Я пытаюсь построить Kylin Cube, который даст мне среднее значение столбца Col1, допускающего значение null, SmallInt. Я ожидаю, что любое нулевое значение не будет учитываться в этом среднем значении. Когда я работаю над своей таблицей в Hive, это именно тот результат, который я получаю при применении функции AVG. Однако, когда я строю куб в Kylin поверх этой таблицы, все нулевые значения в моих столбцах измерений становятся нулями, а затем учитываются при расчете AVG. Есть ли способ заставить Kylin рассматривать нули как нули?


person Itay    schedule 23.09.2016    source источник


Ответы (1)


Вы столкнулись с дефектом Apache Kylin. Я создал JIRA по вашему вопросу. https://issues.apache.org/jira/browse/KYLIN-2049

В качестве обходного пути вы можете добавить новое измерение, т. е. VALID, пусть оно будет равно 1, если Col1 не равно нулю, и будет равно 0, если Col1 равно null. Затем запрос «AVG (Col1), где VALID = 1» должен дать ожидаемый результат.

person Li Yang    schedule 25.09.2016
comment
Спасибо, Ли. Обходной путь немного сложен, потому что, если мне нужно показать более одного среднего значения, то каждое из них становится подзапросом, что делает синтаксис неудобным и снижает производительность системы, но если это ошибка в Kylin, то мы мало что можем сделать в момент. - person Itay; 26.09.2016