`
文章列表

Hive优化总结

    博客分类:
  • hive
转载: http://sznmail.iteye.com/blog/1499789 长期观察hadoop处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜。 2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce作业初始化的时间是比较长的。 3.对sum,count来说,不存在数据倾斜问题。 4.对count(distinct ),效率较低,数据量一多,准出问题,如果是多count(distinct )效率更低。 优化可以从几个方面着手: 1. 好的模型设计事半功倍。 2. 解决 ...
转载: http://blog.csdn.net/wf1982/article/details/9122543 Hive SQL解析/执行计划生成流程分析 近在研究Impala,还是先回顾下Hive的SQL执行流程吧。 Hive有三种用户接口: cli (Command line interface) bin/hive或bin/hive –service cli 命令行方式(默认 ...
转载:http://blog.sina.com.cn/s/blog_6ff05a2c01016j7n.html 经常看到一些Hive优化的建议中说当小表与大表做关联时,把小表写在前面,这样可以使Hive的关联速度更快,提到的原因都是说因为小表可以先放到内存中,然后大表的每条记录再 ...
转: http://www.cnblogs.com/javait03/archive/2011/10/22/2403826.html 首先是ArrayList的继承体系,代码如下: Java代码 public class ArrayList<E> extends AbstractList<E>           implements List<E>, RandomAccess, Cloneable, java.io.Serializable    可以看到ArrayList是List接口的一个实现类,List接口规定可以存放有序重复的元素,因此 ...
转自: 1:http://zhaoxudonglove.iteye.com/blog/257186 2:http://cangzhitao.com/java/equals-hashcode.html 我们都知道Java语言是完全面向对象的,在java中,所有的对象都是继承于Object类。Ojbect类中有两个方法equals、hashCode,这两个方法都是用来比较 ...
转载: http://blog.csdn.net/kingjinzi_2008/article/details/7738188 1:shuffle阶段的排序(部分排序) shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的<key,value>按照key进行排 ...
转载: http://www.cnblogs.com/end/archive/2013/01/18/2866824.html 第一部分:重要的组件 Combiner •什么是Combiner •combine函数把一个map函数产生的<key,value>对(多个key, value)合并成一个新的<key2,value2>. 将新的<key2,value2>作为输入到reduce函数中,其格式与reduce函数相同。 •这样可以有效的较少中间结果,减少网络传输负荷。 •什么情况下可以使用Combiner •可以对记录进行汇总统计的场景,如求和。 • ...
转载自: http://www.360doc.com/content/14/0107/20/15109633_343416433.shtml 1、Hadoop运行原理       Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:MapReduce和HDFS。基于 Hadoop,你可以轻松地编写可处理海 ...
[size=xx-small]转载自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104c90354501de2b3fdcda107cd6924a84642c1a0131a8ec302267558e9a61375ff21c41e9f7357731012ba3de95c81cd2facf68699f27453146c115468d4e&p=c949d11885cc42a808e297790a0cc621&user=baidu&fm=sc&query=sort+shuffle&qid=b ...

算法链接

http://www.cnblogs.com/hexiaochun/category/411706.html http://www.csdn123.com/html/blogs/20131103/92638.htm http://blog.csdn.net/matrixdwy/article/details/3102868 http://www.360doc.com/content/06/1018/19/7635_233862.shtml http://www.csdn123.com/html/mycsdn20140110/4a/4aeed2b4295b40aeef553beb15 ...

java实现快速排序

转载: http://158067568.iteye.com/blog/914049 快排是分治法的一个应用,快排主要是通过一个设定枢轴,然后以这个枢轴为标杆,将待排序列按大小分成比枢轴大的,和比枢轴小的两部分。然后在对划分完的子序列进行快排,知道子序列中元素的个数为1位置。 快速排序实现 快排是程序员必须掌握的,举一个例子来解释,如下图: 首先选定枢轴,一般设置low所对应的元素位置为枢轴,如图选定的枢轴为26。 在高位指针始终不小于低位指针的前提下: 高位指针开始判断其是否比枢轴值大,如果符合,高位指针减1,继续寻找,直到找到不符合的情况,然后把该值赋给此时低位所在位置。 低位指针开始 ...
转 http://blog.csdn.net/booirror/article/details/7707551 算法的时间复杂度和空间复杂度合称为算法的复杂度。 1.时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 (2)时间复杂度 在刚才提到的时间频度中,n称为问题的规模,当n ...

Map/Reduce hadoop 细节

 
[size=large]转自:Venus神庙 原文:http://www.cnblogs.com/duguguiyu/archive/2009/02/28/1400278.html 分布式计算(Map/Reduce) 分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按Google Map/Reduce框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分布式计算上,我们可以将其视为增加了分布式支持的计算函数。 从计算的角度上看,Map/Reduce框架接受各种格式的键值对文 ...
归并排序 归并排序是另一类不同的排序方法,所谓归并,就是把两个或者两个以上的有序表合并成一个新的有序表的过程。 归并排序的基本思想: 将一个含有n个序列的有序表看成是n个长度为1的有序表,然后两两归并,得到[n/2]个长度为2的有序表,然后再两两归并,直到得到一个长度为n的有序表为止。 下面是归并排序的一个简单的例子: 初始值 【49】 【38】 【65】 【97】 【76】 【13】 【27】 看成由长度为1的7个子序列组成 第一次合并之后 【38 49】 【65 97】 【13 76】 【27】 看成由长度为1或2的4个子序列组成 第二次合并之后 【38 49 ...
转载自:http://blog.csdn.net/spy19881201/archive/2010/09/07/5867721.aspx 一、冒泡排序 view plaincopy to clipboardprint? package sort.bubble;   import java.util.Random;   /**  * 依次比较相邻的两个数,将小数放在前面,大数放在后面  * 冒泡排序,具有稳定性  * 时间复杂度为O(n^2)  * 不及堆排序,快速排序O(nlogn,底数为2)  * @author liangge  *  ...
Global site tag (gtag.js) - Google Analytics