我正在使用包含hive-0.13.1的cloudera集群进行日常活动。
我身边有几个字符串模式,我需要找出这些模式是否存在于配置单元表中的一列中。
例如:我的字符串模式是板球运动员的简称,如“德拉维德”、“萨钦”、“甘古利”。我在Hive里有一列,里面有所有板球运动员的全名。
select full_name from players limit 3;
Rahul Dravid
Sachin Ramesh Tendulkar
Sourav Ganguly
我需要将我的字符串模式与查询返回的值进行比较,如果匹配,则创建另一个带有“y”的列,如果不匹配,则创建另一个带有“n”的列。
除了regex之外,如何编写配置单元查询来实现这一点?
2条答案
按热度按时间kgsdhlau1#
使用条件函数的@shu answer的简短版本
if
和关系运算符RLIKE
对于正则表达式匹配:wgxvkvu92#
可以将case语句与like、or运算符一起使用
在下面的查询中,我对全名字段使用了lower函数,并将字段中的数据与较低的名称(dravid、sachin)进行了比较。
query:-