- 笛卡尔集基本原理
两个表如果笛卡尔集运算
(1)行数是两个表行数相乘的结果
(2)列是两个表合集
当Hive设定为严格模式(hive.mapred.mode=strict)时,不允许在HQL语句中出现笛卡尔积,这实际说明了Hive对笛卡尔积支持较弱。因为找不到Join key,Hive只能使用1个reducer来完成笛卡尔积。
一般还是采用等值连接的方式。1
2
3
4
5
6
7
8
9select T1., T2. from
(select * from table1) T1
join
(select * from table2) T2
on 1=1;
其中on 1=1是可选的,注意在Hive的Strict模式下不能用这种语法,需要先用set hive.mapred.mode=nonstrict;设为非strict模式就可以用了。
参考:
https://blog.csdn.net/tototuzuoquan/article/details/39947045