永发信息网

hive中sql运算出现倾斜的情况,主要原因有哪些

答案:2  悬赏:30  手机版
解决时间 2021-02-26 10:54
hive中sql运算出现倾斜的情况,主要原因有哪些
最佳答案
1. Mapjoin是一种避免避免数据倾斜的手段

  允许在map阶段进行join操作,MapJoin把小表全部读入内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配,由于在map是进行了join操作,省去了reduce运行的效率也会高很多

在《hive:join遇到问题》有具体操作

  在对多个表join连接操作时,将小表放在join的左边,大表放在Jion的右边,

  在执行这样的join连接时小表中的数据会被缓存到内存当中,这样可以有效减少发生内存溢出错误的几率

2. 设置参数

  hive.map.aggr = true

  hive.groupby.skewindata=true 还有其他参数

3.SQL语言调节

  比如: group by维度过小时:采用sum() group by的方式来替换count(distinct)完成计算

4.StreamTable

  将在reducer中进行join操作时的小table放入内存,而大table通过stream方式读取
全部回答
&是按位与运算符,如:a&b 只有当a,b同时为真时,结果才为真,其他情况都为假。 | 是按位或运算符,如:a|b 只有当a,b同时为假的时候结果才为假,其他情况为真。 ^是按位异或运算符,如:a^b 只有当a,b同时为真时候为真,其他情况都为假。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
乌石镇工商所怎么去啊,有知道地址的么
何养中教授联系方式
怎么做搞笑图
下列设备安装时,可采用胀锚地脚螺栓的是()。
我的路在哪里?
我有一张银行卡,没开网银,能绑定支付宝吗?
重庆市黔江区有哪些房子正在出售
《校花的贴身高手》里楚梦瑶会不会和冯笑笑一
市桥三桥地址有知道的么?有点事想过去
薄多音字怎么区分
人们对中国古代君主的称呼或以年号相称,或以
为啥感觉今天 20100515快乐大本营 吴昕 很不
扬州京华城适合一个人吃饭的地方
2016款名爵锐行 1.5l 自动超值豪华版是6挡at
我是株洲本地人,从事焊工工作6年了,现在想
推荐资讯
我有一根线,一端是dvi接口,另一端是hdmi接
海信数字电视一体机看着看着为什么突然掉线,
衢念什么
问:我是做粉条的 自己家包的地种的红薯 然后
未离婚但妻子带着孩子去躲起来不让我看孩子,
东风风神AX3报价多少钱
贝泉护肤品怎样代理
万宝便利店这个地址在什么地方,我要处理点事
爱情公寓哪一集关谷的房间变棋牌室
红稗地在哪里啊,我有事要去这个地方
菲组什么词
信泰证券被华泰证券合并后,用信泰客户账号登
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?