Подзапрос Hive в предложении rlike

Я хочу очистить записи роботов из файла журнала. Один из способов идентифицировать сканеры по полю пользовательского агента в веб-журнале. Я сохранил необработанные журналы в одной папке и маркер популярных сканеров в crawler Таблица. Чтобы очистить журналы, в которых пользовательский агент совпал с токеном, я сделал этот запрос

CREATE TABLE temp 
AS
SELECT host,time,method,url,protocol,status,size,referer,agent 
FROM raw_logs
WHERE 
agent NOT RLIKE (SELECT concat_ws("|",collect_set(concat("(.*",token,".*)"))) FROM crawler) ; 

Это дает мне parseException cannot recognize input near 'SELECT' 'concat_ws' '(' in expression specification

Если я заменю результат подзапроса вручную, то он работает отлично.

CREATE TABLE temp 
AS
SELECT host,time,method,url,protocol,status,size,referer,agent 
FROM raw_logs
WHERE agent NOT RLIKE '(.*Googlebot.*)|(.*bingbot.*)'  ;

Так что подзапрос в LIKE предложение не поддерживается hive 1.0.1? Подобный запрос в MySQL работает отлично.

0 ответов

Другие вопросы по тегам