摘要:
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的分配到各个reduce中,就是解决数据倾斜的根本所在。规避错误来更好的运行比解决错误更高效。在查看了一些资料后,总结如下。1数据倾斜的原因1.1操作:关键词情形后果Join其中一个表较小,但是key集 阅读全文
阅读排行榜
android asset studio
2013-01-21 14:33 by java20130722, 162 阅读, 收藏,
摘要:
Android Asset Studio:ICON GENERATORS 阅读全文
Ubuntu问题解决方案集锦
2012-07-11 16:43 by java20130722, 162 阅读, 收藏,
摘要:
Ubuntu系统清理命令1.清理下载的缓存包 我们在Ubuntu中通过sudoapt-get install 安装软件时,其下载的包都缓存在/var/cache/apt/archives/目录中.如果要清理掉这些已下载的缓存包,那么可以执行命令: sudoapt-get autoclean sudoapt-get clean2.清理不再需要的包 我们知道,在Ubuntu系统中安装软件时,该软件的依赖通常也会自动安装上.那么,在我们删除该软件后,其依赖可能需要我们手动删除之.你可以运行如下命令来解决这个问题.sudoapt-get autoremoveUbuntu修改计算机名运行命令:su... 阅读全文
hadoop SecondaryNameNode和NameNode
2013-04-02 02:34 by java20130722, 161 阅读, 收藏,
摘要:
1.概述光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn)的热备进程。其实不是。snn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间。对于hadoop进程中 ,要配置好并正确的使用 snn,还是需要做一些工作的。hadoop的默认配置中让snn进程默认运行在了namenode的那台机器上,但是这样的话,如果这台机器出错,宕机,对恢复HDFS文件系统是很大的灾难,更好的方式是:将 阅读全文
工厂模式
2013-03-28 00:16 by java20130722, 161 阅读, 收藏,
摘要:
工厂模式factory模式的两个最重要的功能: 1)定义创建对象的接口,封装了对象的创建; 2)使得具体化类的工作延迟到了子类中。Factory模式也带来至少以下两个问题:1)如果为每一个具体的ConcreteProduct类的实例化提供一个函数体,那么我们可能不得不在系统中添加了一个方法来处理这个新建的ConcreteProduct,这样Factory的接口永远就不肯能封闭(Close)2)可以通过创建一个Factory的子类来通过多态实现这一点,但是这也是以新建一个类作为代价的。解决方法:通过参数化的工厂方法Factory模式仅仅局限于一类类(就是说Product是一类,有一个... 阅读全文
浙公网安备 33010602011771号