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

相关推荐
一只小青团5 小时前
Hadoop之HDFS
大数据·hadoop·分布式
ITVV5 小时前
hadoop-3.4.1 单机伪部署
大数据·linux·hadoop
小鹿学程序5 小时前
4.子任务四:Hive 安装配置
数据仓库·hive·hadoop
weixin_307779137 小时前
基于AWS的应用程序可靠性提升架构优化方案——RDS多可用区与EC2弹性架构实践
数据库·数据仓库·架构·云计算·aws
科技小伙200816 小时前
数据仓库ODS、DWD、DWR、DM、DIM各层介绍
数据仓库
howard20051 天前
4.2 Hive数据表操作
hive·内部表·数据表·插入记录·查询记录
尘世壹俗人1 天前
hadoop节点扩容和缩容操作流程
hadoop
BD_Marathon1 天前
【Hive】复杂数据类型
数据仓库·hive·hadoop
q***31891 天前
深入解析HDFS:定义、架构、原理、应用场景及常用命令
hadoop·hdfs·架构
isNotNullX1 天前
怎么用数据仓库来进行数据治理?
大数据·数据库·数据仓库·数据治理