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

相关推荐
谅望者7 小时前
数据分析笔记01:数据分析概述
大数据·数据库·数据仓库·数据分析
尘世壹俗人8 小时前
分离Hadoop客户端单独使用
大数据·hadoop·分布式
BD_Marathon13 小时前
在 Linux 环境中配置 Eclipse 以开发 Hadoop 应用
java·hadoop·eclipse
CC-NX13 小时前
大数据安全技术实验:Hadoop环境部署
大数据·hadoop·分布式
q***76661 天前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
秃头菜狗1 天前
十八、在slave01节点上安装Hadoop
服务器·hadoop·eclipse
q***3751 天前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
Hello.Reader2 天前
Flink CDC + StarRocks用 StarRocks Connector 打通实时明细与分析
数据仓库·adb·flink
muxue1782 天前
Hadoop集群搭建(上):centos 7为例(已将将安装所需压缩包统一放在了/opt/software目录下)
大数据·hadoop·centos