hive查询一个2亿数据的表,非常慢,有什么办法设置查询?
我在hive中设置了set mapred.reduce.tasks = 1000;但是感觉还是慢,可能比之前慢,但是我不知道改动之前设置的是多少,有什么命令看到之前设置的?我想还原设置。
还是当前用户设置了这个大小对别的用户没影响,请大神指点迷津。
hive查询一个2亿数据的表,非常慢,有什么办法设置查询?
我在hive中设置了set mapred.reduce.tasks = 1000;但是感觉还是慢,可能比之前慢,但是我不知道改动之前设置的是多少,有什么命令看到之前设置的?我想还原设置。
还是当前用户设置了这个大小对别的用户没影响,请大神指点迷津。
对别人没有影响,这个只影响你自己的hive,你重新进hive这个mapred.reduce.tasks设置就失效了。set属于临时的设置,只在当前session中有效。
用set mapred.reduce.tasks;可以看到之前的配置
非常慢的原因可能由于数据倾斜了,你看一下是不是有的reduce跑的非常快,shuffle的数据量很大。这个得需要你自己分析一下数据的情况
@青牛 我想借问一下这个mr里面的task任务数一般为多少呢?
@ling775000 这个要根据自己的集群情况去定,集群资源不够设置太多反而跑不完。设置成合理运用集群的资源就可以了