Я дал запрос, совместимый с teradata. Он импортировал таблицу в size_tab, используя Sqoop. Пытался выполнить на ВИЧ, но, к сожалению, совместим с улей.GROUPING() в улье?
SELECT fact_1_id,
fact_2_id,
SUM(sales_value) AS sales_value,
GROUPING(fact_1_id) AS f1g,
GROUPING(fact_2_id) AS f2g
FROM dimension_tab
GROUP BY CUBE (fact_1_id, fact_2_id)
ORDER BY fact_1_id, fact_2_id;
Затем я попытался сделать его совместимым с ВИЧ. См: WIKI
К счастью, CUBE доступен в энцефалопатии, но с другим синтаксисом
т.е. fact_1_id, fact_2_id С CUBE. но форма документации, GROUPING() недоступна в HIVE.
Пожалуйста, помогите мне, если функция GROUPING() доступна в HIVE. или Как сделать запрос на работу с HIVE?
Спасибо @ Gordon .... за подробный ответ. просто чтобы подтвердить, правильно ли я .. Даже если изменения порядка ... нам нужно изменить '& N' соответственно и будет отлично во всех случаях. – Sanjiv
@Sanjiv. , , Значение «N» после '&' равно 2^позиции выражения в 'group by'. Почему Hive не просто поступил правильно и создал функцию 'grouping()', я не знаю. Компилятор SQL должен знать порядок выражений 'group by'. –
Да, поднял HIVE JIRA за то же самое. https://issues.apache.org/jira/browse/HIVE-10310 – Sanjiv