HIve
炼丹师666
要学神仙,驾鹤飞天,点石成金,妙不可言!
展开
-
hive_优化模式
本地模式:当一个MapReduce任务的数据量和计算任务很小的时候,真正的逻辑处理其实占用时间很少,只需要在本地进行Map和Reduce的执行,大大的加快了小任务的执行时间,通常可以把分钟级别任务的执行时间降低秒级。并行模式:Hive的Parallel特性使得某些任务中的stage子任务以并行执行模式同时执行,相对于一直串行执行stage任务来说有效的提升资源利用率严格模式:通过设置hi...原创 2020-03-20 14:18:35 · 172 阅读 · 0 评论 -
hive调优_解决数据倾斜
小表与大表JOIN小表与大表JOIN小表与大表Join时容易发生数据倾斜,表现为小表的数据量比较少但key却比较集中,导致分发到某一个或几个reduce上的数据比其他reduce多很多,造成数据倾斜。优化方法:使用Map Join将小表装入内存,在map端完成join操作,这样就避免了reduce操作。有两种方法可以执行Map Join:(1) 通过hint指定小表做MapJoin ...原创 2020-03-20 14:01:40 · 246 阅读 · 0 评论 -
大数据groupby太慢该如何优化
算子调优五:reduceByKey本地聚合参考:https://www.cnblogs.com/dflmg/p/10430181.htmlreduceByKey相较于普通的shuffle操作一个显著的特点就是会进行map端的本地聚合,map端会先对本地的数据进行combine操作,然后将数据写入给下个stage的每个task创建的文件中,也就是在map端,对每一个key对应的value,执行r...原创 2020-03-04 22:46:21 · 3488 阅读 · 0 评论 -
hive的mapjoin原理
什么是MapJoin?MapJoin顾名思义,就是在Map阶段进行表之间的连接。而不需要进入到Reduce阶段才进行连接。这样就节省了在Shuffle阶段时要进行的大量数据传输。从而起到了优化作业的作用。MapJoin的原理:省去了reduce操作即在map 端进行join,其原理是broadcast join,即把小表作为一个完整的驱动表来进行join操作。通常情况下,要连接的各个表里面...原创 2020-03-03 22:39:20 · 584 阅读 · 0 评论 -
Hive的常见压缩格式(ORC,Parquet,Sequencefile,RCfile,Avro)的区别
读写查询性能测试:https://blog.csdn.net/wx1528159409/article/details/88417457TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的;并且SEQUENCEFILE是存储为二进制文件ORC和PARQUET是基于列式存储的行列混合存储的RCFile,该存储结构遵循的是“先水平划分,再垂直划分”的设计理念。先将数据按...原创 2020-03-03 14:26:34 · 2352 阅读 · 0 评论