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

相关推荐
凌冰_3 小时前
Thymeleaf 3.1‌版本的内置对象禁用
数据仓库·hive·hadoop
jiedaodezhuti6 小时前
HDFS纠删码:以算法换冗余,实现海量数据存储的降本增效
大数据·hadoop·hdfs
qq_381454998 小时前
数据仓库:企业智能决策的核心引擎
数据仓库
linweidong8 小时前
hive sql行转列,列转行sql的实例
hive·hadoop·sql
qq_13948428821 天前
基于Python网易云排行榜数据分析系统设计与实现
大数据·hadoop·python·django·flask
走遍西兰花.jpg1 天前
sqoop的导入导出
hive·hadoop·sqoop
kong79069281 天前
Hadoop介绍HDFS介绍
大数据·hadoop·分布式
是阿威啊1 天前
【用户行为归因分析项目】- 【企业级项目开发第四站】模拟三类用户行为数据上传到Hadoop
大数据·hadoop·分布式·sql·scala
LF3_1 天前
Centos7,搭建Hive3.1.3数据库
大数据·数据库·hive
走遍西兰花.jpg2 天前
如何启动azkaban
hadoop·azkaban