【发布时间】:2014-10-30 07:47:59
【问题描述】:
虽然 Hive 不支持 SQL 中支持的多值 LIKE 查询:例如
SELECT * FROM user_table WHERE first_name LIKE ANY ( 'root~%' , 'user~%' );
我们可以将其转换为等效的 HIVE 查询:
SELECT * FROM user_table WHERE first_name LIKE 'root~%' OR first_name LIKE 'user~%'
如果子查询与 LIKE 一起使用,是否有人知道 Hive 支持的等效解决方案?看看下面的例子:
SELECT * FROM user_table WHERE first_name LIKE ANY ( SELECT expr FROM exprTable);
由于表达式中没有值,我不能使用相同的方法生成多个用 OR / AND 运算符分隔的 LIKE 表达式。最初我想为它编写 HIVE UDF 吗?你能帮我支持这种表达并找到HIVE等价物吗?
【问题讨论】:
-
这些问题相隔 1 年,所以发布时可能没有解决方案,但我认为这是一个很好的解决方案:stackoverflow.com/questions/33626645/…