Hive Tuning(一) 连接策略

  • 时间:
  • 浏览:2
  • 来源:uu快3下载网站_uu快3开户二维码

真实数据中数据倾斜是一定的, hadoop 中默认是使用

群里共享了一本hive调优的书记,叫青 《Hive Tunning》,就忍不住开始英语 就看,也顺便记录一下我本人学到的东西,备忘!

也只要每个节点的reduce 默认是除理1G大小的数据,机会你的join 操作也产生了数据倾斜,没人给你在hive 中设定

(3)Sort-Merge-Bucket Join:mapper还能也能协同定位keys去进行高效的连接,速率调慢,只有考虑表的大小,并且数据能也能先排序和分派。

第一步,首先按照连接字段排序,所有机会的匹配的不是 硬盘的同一块区域。

好,让我们都歌词 正式开始英语 ,首先是连接的现象,让我们都歌词 都知道连接耗时长,并且连接无法除理,那hive又是要怎样除理连接操作的呢?

– Usually coupled with sorting. 

(2)任意大小的表,有什么都有有要精确查询的列,建议先按照最常使用的列进行排序再进行查询。

– Greatly accelerates query when used with ORCFilefilter pushdown.

– Hash partition values into a configurable number of buckets. 

机会表机会排序并且机会bucketed,还能也能启用SMB joins

hive有什儿 类型的连接策略:

进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

• Sorting: 

(5)大表并且有或多或少自然边界,比如日期的,建议利用日期进行分区。

让我们都歌词 还能也能启用连接自动转换来帮助让我们都歌词 转换,在执行得话并且设置一下即可。它是经过优化的Map Join,无reducer。

让我们都歌词 以什儿 销售订单什儿 例子来做演示,还能也能就看其中的图,它们是通过customer.id=order.cid来做连接的,首先Map把一个 多多表中的数据除理成以连接字段为key,或多或少字段为value的作为输出,并且把一个 多多表中id和cid相同的数据传递到同一个 多多reducer中,从网络使用率上看是很奢侈的。

当一个 多多表都很大的情况下:

(1)Shuffle Join : 什儿 类型的是通过map/reduce 来实现连接操作的,优点是只有考虑数据的大小和分布,缺点是消耗絮状的资源并且是最慢的。

– Split values out into separate files. 

(3)大表并且又能也能和另外的的大表做连接,建议先通过连接列做排序和bucket。

• Skews: 

hive 在运行的并且没人土辦法 判断哪个key 会产生多大的倾斜,什么都有有使用什儿 参数控制倾斜的阈值,机会超过什儿 值,新的值会发送给哪几种还没人达到的reduce, 一般还能也能设置成你

第二步,把所有的值都移到同一个 多多节点下面进行等值连接,只有再进行shuffle。

Shuffle Join:

Map Join开启

– Controlled at the HDFS layer. 

(2)Broadcast Join:什儿 类型的土辦法 是把一个 多多小的表在所有节点中加载到内容当中,并且用mapper来扫描大表进行连接,速率非常快,并且其中一个 多多表能也能还能也能加载到内存当中。

首先,这是hive的数据摘要,谁能告诉我哪几种意思,我也没看懂。

– Increase replication factor to accelerate reads. 

Skew Join

倾斜是一直会居于的,一般select 的层数超过2层,翻译成执行计划多于5个以上的mapreduce job 都很容易产生倾斜,建议每次运行比较繁复的sql 并且都还能也能设一下什儿 参数. 机会你谁能谁能告诉我设置多少,还能也能就按官方默认的一个 多多reduce 只除理1G 的算法,没人  skew_key_threshold  = 1G/平均行长. 机会默认直接设成2200000000 (差太满再 算平均行长一个 多多字节)

(除理的总记录数/reduce个数)的2-4倍都还能也能接受.

Bucketing: 

Broadcast Join:

– Used when certain values are frequently seen. 

什儿 土辦法 比较繁复或多或少,首先它使用足够小的维度表来存倒入所有的节点当中,单独扫描大表,并且根据模式匹配进行连接。

Sort-Merge-Bucket Join

这里就不解释了,我本人看吧,这和下面的图是对应的,针对不同大小的表,hive有多种除理模式。

(4)大表,但只要利用到其中或多或少常用的值,还能也能把常用的值弄个单独的skew中。

– Sort the values within given columns. 

• Replication Factor: 

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,只要承担相关法律责任。机会您发现本社区带有涉嫌抄袭的内容,欢迎发送邮件至:

(1)小表,一直要用的数据,建议使用replication factor,机会是缓存的意思,具体是哪几种意思,等我清楚了再给让我们都歌词 解释。

下面是hive的连接策略: