hive
我的学长是王欣
/**
*
* If this code is useful, it is written by z3jjlzt.
* If not good, I do not know who wrote.
*/
展开
-
记一次hive中遇到的坑
0x01 今天,由于公司要进行新老数据仓库的迁移,于是顺便接手了其中一部分的工作,其实大部分迁移工作都比较简单,就是把从ods层-dw层-dm层-sh展示层中涉及到旧仓库的表替换成新仓库的表,并且检查其中字段的差异性,并进行相应的操作。于是撸起袖子开工。 0x02 前期的进展很顺利,很快就完成了几张表的迁移,心想着按这个进度,不到一个小时就能完成了。Orz 在进行到第五张表的迁原创 2018-01-05 15:25:56 · 1132 阅读 · 0 评论 -
Hive针对distinct的优化(一)
hive针对count(distinct xxx)只产生一个reduce的优化。 0x00 造成的原因 由于使用了distinct,导致在map端的combine无法合并重复数据;对于这种count()全聚合操作时,即使设定了reduce task个数,set mapred.reduce.tasks=100;hive也只会启动一个reducer。这就造成了所有map端传来的数据都在一个原创 2018-01-05 15:27:39 · 4388 阅读 · 0 评论 -
Hive针对distinct的优化(二)
之前一篇针对单个count(distinct xxx)的优化,本文来讲讲对多个count(distinct xxx)的优化。 0x00 解决思路 优化是在之前单个count的基础上,通过使用union all以及窗口分析函数lag的结合来进行的。具体思路如下。 0x01 分治法 SELECT pid, c1, c2 FROM (select原创 2018-01-05 15:29:44 · 553 阅读 · 0 评论