hive两张表实现like模糊匹配关联

sql 复制代码
testa表(字段a)
  aaa
  bba
  cccddd
  dddaaa

testb表(字段b)
   a
   b
   
1. 使用like+concat模糊配对
select
   a.a
from testa a ,testb b
where a like concat('%',b.b,'%')
group by a.a

2. 使用locate函数
select
   a.a
from testa a ,testb b
where locate(b.b,a.a)>0
group by a.a

3. 使用instr函数
select
   a.a
from testa a ,testb b
where instr(a.a,b.b)>0
group by a.a

3. 使用split函数
select
   a.a
from testa a ,testb b
where split(a.a,b.b)[1] is not null
group by a.a

注:

1.需要除重操作,比如:a表符合b两个将产生两条记录。

2.上面都会产生笛卡尔积,所以要注意数据量级。如果两个表都比较大,可以考虑将表拆分分别关联。

3.like效率比较低最好少用

相关推荐
无级程序员4 小时前
大数据平台之ranger与ldap集成,同步用户和组
大数据·hadoop
梦想画家17 小时前
数据仓库:企业数据管理的核心枢纽
数据仓库
梦想画家2 天前
数据仓库中的代理键:概念、应用与实践指南
数据仓库·代理键·缓慢维度变化
王小王-1232 天前
基于Hadoop的用户购物行为可视化分析系统设计与实现
大数据·hadoop·分布式·用户购物行为·电商日志分析
爱吃面的猫3 天前
大数据Hadoop之——Flink1.17.0安装与使用(非常详细)
大数据·hadoop·分布式
zhuiQiuMX3 天前
脉脉maimai面试死亡日记
数据仓库·sql·面试
Edingbrugh.南空4 天前
Hadoop MapReduce 入门
大数据·hadoop·mapreduce
大数据CLUB5 天前
基于spark的奥运会奖牌变化数据分析
大数据·hadoop·数据分析·spark
Edingbrugh.南空5 天前
Hadoop高可用集群搭建
大数据·hadoop·分布式
无级程序员5 天前
hive2服务启动报错:/tmp/hive on HDFS should be writable(不是chmod 777能解决的)
hive·hadoop·hdfs