Проверьте https://cwiki.apache.org/confluence/display/Hive/LanguageManual, если вы этого не сделали.Я ссылаюсь на это все время, когда пишу запросы для улья.
Я ничего не делал, когда пытался сопоставить часть слова, но вы можете проверить RLIKE
(в этомsection https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#Relational_Operators)
Это, вероятно, немного хакерская работа, но вы можете выполнить подзапрос, где вы проверите, соответствует ли он положительному значению, и выполните CASE
(http://wiki.apache.org/hadoop/Hive/LanguageManual/UDF#Conditional_Functions), чтобыУ меня есть известное значение для основного запроса, чтобы проверить, совпадает ли он или нет.
Другой вариант - написать UDF, который выполняет проверку.
Я просто мозговой штурм, сидядома без доступа к Hive, поэтому я могу упустить что-то очевидное.:)
Надеюсь, что это так или иначе поможет. \ ^ _ ^ /
РЕДАКТИРОВАТЬ: Добавление в дополнительный методиз моего комментария ниже.
Для вашего предоставленного примера colName RLIKE '[^ r] [^ o] [^ o] [^ t] ~ \ w' Это может быть не оптимальный REGEX, но что-то, чтобы посмотретьвместо подзапросов