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

相关推荐
火龙谷26 分钟前
hadoop第3课(hdfs shell常用命令)
hadoop·hdfs·npm
神秘打工猴1 小时前
数据仓库为什么要分层
大数据·数据仓库·spark
好记性+烂笔头11 小时前
Hive八股
hive
StableAndCalm11 小时前
什么是hive
数据仓库·hive·hadoop
好记性+烂笔头18 小时前
Hadoop八股
大数据·hadoop·分布式
Python数据分析与机器学习18 小时前
《基于Hadoop的出租车需求预测系统设计与实现》开题报告
大数据·hadoop·分布式·python·算法·数据挖掘·数据分析
StableAndCalm18 小时前
什么是hadoop
大数据·hadoop·分布式
麻芝汤圆18 小时前
在虚拟机上安装 Hadoop 全攻略
大数据·linux·服务器·hadoop·windows·分布式
lqlj223318 小时前
第一个Hadoop程序
大数据·hadoop·分布式
2302_7995257418 小时前
【Hadoop】什么是Zookeeper?如何理解Zookeeper?
大数据·hadoop·zookeeper