Как сгруппировать значения по ключу в Alibaba MaxCompute? - PullRequest
0 голосов
/ 21 ноября 2018

У меня возникают проблемы при попытке сгруппировать значения по ключу в Alibaba MaxCompute.Я использовал подобные запросы раньше в Alibaba Cloud MaxCompute, но теперь он выдает ошибку.

Например,

SELECT * FROM table GROUP BY key;

Должен работать, но выдает ошибку типа

СБОЙ: ODPS-0130071: [1,8] Исключение семантического анализа - ссылка на столбец table.value должна отображаться в ключе GROUP BY

Любой может помочь мне с этим, чтобы понять, почему возникает эта ошибка.

1 Ответ

0 голосов
/ 21 ноября 2018

В более ранней версии MaxCompute select * from group by key поддерживается, даже если соответствующие столбцы * не включены в ключ GROUP BY.Совместимый с Hive, MaxCompute 2.0 запрещает этот синтаксис, если список GROUP BY не является столбцом во всех исходных таблицах

Примеры:

Сценарий 1. Ключ GROUP BY включает не все столбцы.

Неверный синтаксис:

SELECT * FROM t GROUP BY key;

Правильный синтаксис:

SELECT DISTINCT key FROM t;

Сценарий 2: Ключ GROUP BY включает в себя все столбцы.

Не рекомендуется синтаксис:

SELECT * FROM t GROUP BY key, value; -- t has columns key and value

Рекомендуемый синтаксис:

SELECT DISTINCT key, value FROM t;
...