hive子查询

mv1qrgav  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(400)

我想从日志文件中清除robots条目。一种通过weblog中的user-agent字段来识别爬虫的方法。我将原始日志存储在一个文件夹中,并在其中标记了流行的爬虫 crawler table。为了清理那些用户代理与令牌匹配的日志,我进行了以下查询

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) ;

这给了我一个例外 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 配置单元1.0.1不支持子句?mysql中类似的查询非常适合。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题