НЕ В Hive QL

Я конвертирую хранимую процедуру SQL Server в HiveQL.

Как я могу преобразовать что-то вроде:

SELECT * FROM table1 WHERE id NOT IN (7,6,5,4,2,12)

person MBZ    schedule 08.01.2013    source источник
comment
@bonCodigo, почему это было изменено на спящий режим? Это не то же самое, что улей.   -  person Tim Goodman    schedule 22.04.2013


Ответы (3)


Согласно документации говорится, что вы можно использовать not in:

Отрицательные формы можно записать следующим образом:

from DomesticCat cat where cat.name not between 'A' and 'B'

from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )

Вы получаете сообщение об ошибке, когда пытаетесь выполнить запрос в вопросе?

Пожалуйста, попробуйте также на основе ссылок.

person bonCodigo    schedule 08.01.2013
comment
Первоначальный вопрос был о HiveQL, а не о HibernateQL. - person Alex F; 12.04.2013

NOT IN теперь поддерживается в Hive. См. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF.

person Solomon    schedule 27.02.2014

Попробуй это:

SELECT * FROM table1 WHERE NOT array_contains(array(7,6,5,4,2,12), id)
person thyme    schedule 08.01.2013