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效率比较低最好少用

相关推荐
tumeng07112 天前
HDFS的架构优势与基本操作
hadoop·hdfs·架构
蓝眸少年CY2 天前
Hive - 函数、压缩与优化
数据仓库·hive·hadoop
仗剑_走天涯2 天前
Hadoop 安装
大数据·hadoop·分布式
sunxunyong2 天前
HDFS nnsdy重新配置启动
大数据·hadoop·hdfs
bukeyiwanshui2 天前
Hadoop环境搭建
大数据·hadoop·分布式
Jianghong Jian2 天前
HDFS常用的JAVA API
大数据·hadoop·hdfs
2501_933329552 天前
品牌公关的底层重构:Infoseek舆情系统如何用AI中台破解“按键伤企”难题
数据仓库·人工智能·重构·数据库开发
迈巴赫车主2 天前
大数据:Hadoop(MapReduce)
大数据·hadoop·mapreduce
jasnet_u2 天前
CentOS上搭建hadoop-3.3.6集群(3节点)
hadoop·centos
hashiqimiya2 天前
windows的hadoop集群环境直接配
大数据·hadoop·分布式