Ответ 1
Hive не поддерживает синтаксис DISTINCT *
. Вы можете вручную указать каждое поле таблицы, чтобы получить тот же результат:
SELECT DISTINCT field1, field2, ...., fieldN
FROM first_working_table
Я использую простую команду: SELECT DISTINCT * FROM first_working_table;
в HIVE 0.11, и я получаю следующее сообщение об ошибке:
FAILED: SemanticException TOK_ALLCOLREF не поддерживается в текущих контекст.
Кто-нибудь знает, почему это происходит? Как мы можем его решить?
Спасибо, Гал.
Hive не поддерживает синтаксис DISTINCT *
. Вы можете вручную указать каждое поле таблицы, чтобы получить тот же результат:
SELECT DISTINCT field1, field2, ...., fieldN
FROM first_working_table
Как указано в предыдущем комментарии, отдельный * не поддерживается. Что является правдой. Один трюк может быть таким.
Distinct * можно использовать следующим образом:
select distinct * from (
select t1.col1,t1.col2,t1.col3,t2.* from t1,t2
)tbl;
Я использовал этот синтаксис в Hive 2.x. Поэтому я могу подтвердить, что это работает.