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

相关推荐
Irene199115 小时前
在 WSL Ubuntu 上安装和使用 Hive
linux·hive·ubuntu
二宝哥15 小时前
大数据之安装Hadoop3.1.4
大数据·hadoop
Irene199115 小时前
Windows 11 WSL Ubuntu 环境:安装 Hadoop 完整指南
hadoop·ubuntu
Irene199116 小时前
(课堂笔记)Hive 基础
hive·hadoop
nassi_1 天前
对AI工程问题的一些思考
大数据·人工智能·hadoop
云策数链2 天前
ERP报表系统设计与数据仓库
数据仓库·erp·用友·云策数链
Irene19912 天前
(课堂笔记)hadoop 基础使用
hadoop
水火既济__2 天前
加快hive效率
数据仓库·hive·hadoop
真上帝的左手3 天前
19. 大数据-数据仓库简介
大数据·数据仓库
lifewange4 天前
Hive 数据库 增删改 完整操作指南
数据库·hive·hadoop