'你是做大数据的,应该很会优化吧(滑稽的笑)' -- 今天被朋友问了这个问题
简直是贴标签!
我只想说,,,方法实在太多了!!!
什么!!你还不会优化!!!
来!!我来分享一点我觉得有用的东西!
1.运行时优化
在表连接的时候,有些key值会很大,就会造成我们头疼的数据倾斜,但是开启下面的参数之后嘞,我们就可以临时把数据临时存储在hdfs~
set hive.optimize.skewjoin=true;
原理:在某些情况下,当连接操作的键存在极端的数据分布不均衡(即倾斜)时,会导致性能下降。Hive 通过开启 hive.optimize.skewjoin
配置项来启用 Skew Join 优化,从而提高连接操作的效率。
当 hive.optimize.skewjoin
设置为 true
时,Hive 在执行连接操作时,会检测输入数据的倾斜情况,并尝试将倾斜的数据拆分成多个部分,再进行连接操作。这样可以避免倾斜数据集中在单个任务上,造成任务不均衡和性能瓶颈。
需要注意的是,开启 Skew Join 可能会增加作业的执行时间和资源消耗,因为它需要额外的计算和数据重组。因此,在使用该设置时,需要根据实际情况评估倾斜数据的程度和性能