由于一个业务,必须要进行笛卡尔积,但是速度太慢了,left join时左表大概4万条数据,右表大概 3000多条数据,这样大概就是一亿多条数据, 这在大数据领域其实不算很大的数据量,但是hive中跑的特别慢.因为hive对笛卡尔积支持的不是很好,由于是全局的操作,所以只能在一个reduce中执行,导致速度比较慢. 然后想优化一下,尝试了一些方法. 比较直接能想到的解决方案是使用mapjoin,hive较高版本中是默认开启mapjoin的,在开启状态下会自动判断是否使用mapjoin, 我看了一下…