【发布时间】:2015-11-10 09:25:15
【问题描述】:
使用多个 LIKE 运算符编写 Hive 查询的正确方法是:
SELECT *
FROM some_table
WHERE
some_col LIKE '%abc%'
OR
some_col LIKE '%xyz%'
OR
some_col LIKE '%pqr%'
OR
... (some more LIKE statements)
我也尝试过上述方法
WHERE some_col LIKE '%abc|pqr|xyz%'
但他们没有返回任何结果。如果我编写单独的查询,它工作正常,即
WHERE some_col LIKE '%abc%' -> returns results
和
WHERE some_col LIKE '%pqr%' -> also returns results
【问题讨论】:
-
Hive 没有充分的理由在处理由 OR 组合的多个 LIKE 表达式时失败。您能否详细说明表类型(外部与托管、分区与否,文本与 RCFile 与 Orc 与其他)和列定义(纯字符串?那里有任何 Null 值吗?)
-
WHERE some_col rlike 'abc|pqr|xyz'工作。