其实我更觉得他们的优化策略很相似,有错的地方还请指出
1.数据倾斜,碰到小表跟大表的关联数据倾斜都是希望把小表在每个计算机器上复制一份放在内存当中只是调用的api不同,或者将倾斜的key加随机数前缀,实质也是为了数据分布均衡
2.内存方面都希望最大限度的把数据放在内存中处理,hive底层就是mapreduce做计算,无论是map端还是中间map到reduce都涉及数据临时存储在内存中但是大部分还是存放在本地磁盘里面而且这个内存大小可以调整进行优化,而spark追求的是绝大数中间数据都在内存中,所以对内存大小也有要求
3.提供处理task进程个数方面比如提高map,reduce的处理个数,spark设置每台机器的executor的进程数等