- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 hive代码研究--设计模式(1)- 图(树)遍历
在hive的代码中核心是一个算子树,在算子树优化以及查询计划(MR序列)的生成过程中,多次使用算子树遍历设计模式,这里从总体上对这个设计模式进行介绍。图遍历过程中包含两个模块的工作:分别是遍历器和调度器1、遍历器(GraphWalker):对一颗算子树(或者任务树)进行遍历,遍历是扫描树中的每一个节点的过程,每次经过一个节点的时候,这里包含两个信息,当前节点以及当前状态(这个状态包括这个节
2011-11-06 16:32:54 1397
原创 常数时间内求栈内最大值(iteye上一篇关于百度面试题文章的读后感)
原文:http://www.iteye.com/topic/1116956题目:算法描述:一个栈stack,具有push和pop操作,其时间复杂度皆为O(1)。设计算法max操作,求栈中的最大值,该操作的时间复杂度也要求为O(1)。可以修改栈的存储方式,push,pop的操作,但是要保证O(1)的时间复杂度,空间时间复杂度无要求。正确解法:12楼,
2011-11-05 12:00:03 1111
原创 hive代码研究--运行原理(2)- genplan过程
genplan是语法分析最重要的一个阶段,在genplan过程中生成一个算子树。1、一条sql语句的结构:一条sql主要包括,insert子句,select子句,from子句,groupby子句,以及其他的条件子句,如limit,orderby等,还有join和union等操作符。其中的from子句,一般可以直接跟一个表,多个表(笛卡尔积等同于join),或者一个子查询,或者由jo
2011-10-30 19:14:58 1600
原创 hive代码研究--运行原理(1)- 整体框架
hive就是一个将sql语句转化为MR工具hive的工作原理:1、使用antlr定义sql语法,(详细见hive.g),由antlr工具将hive.g编译为两个java文件:HiveLexer.java HiveParser.java,可以将输入的sql解析为ast树2、org.apache.hadoop.hive.ql.Driver对ast树进行初步的解析(combile),调
2011-10-30 17:38:31 2930
原创 将大小不一的一对文件组合成为大小均匀的若干文件?
hadoop集群的小文件过多是一个棘手的问题,过多的小文件作为输入的时候,会导致集群一下启动了太多的map,浪费了集群资源,同时可能会阻塞其他的任务执行。hadoop提供了一种多文件输入的方法CombineInputFormat,可以将过多的小文件合并为若干个期望大小的大文件作为
2011-10-03 18:23:38 833
原创 《编程之美-微软技术面试心得》这本书中的1.11节的转化问题研究:nim拈游戏研究
《编程之美-微软技术面试心得》这本书中的1.11节有一个问题:一堆石块,A和B两个人从里面拿,每次只能拿一个或者任意连续的两个,最后拿到的算赢,先拿者是否有必胜策略:这个问题较为简单:先拿者有必赢策略,只要按照如下规则拿即可,如果有奇数个石块,先拿者只
2011-10-03 17:32:23 1684 1
原创 一个关于特殊的排序问题的研究
在下面这个文章中的一个问题:http://topic.csdn.net/u/20110928/15/0ef60bfb-8cb8-471d-a0f0-2b63f6680400.html?seed=1608405708&r=75815377#r_75815377一
2011-10-01 17:23:28 490
原创 hadoop的几个问题(备忘)
<br />hadoop需要解决的几个问题:<br /> <br />1、MR性能问题,数据推拉<br />2、MR任务调度问题,jobtracker瓶颈<br />3、Master单点问题,zookeeper<br /> <br />草)
2011-05-03 14:04:00 600
原创 有关数据存储和压缩的一点总结
<br />1、hadoop中有一个WritableUtils.writeVLong方法,此方法对于long型数字进行一个编码以减少实际存储的数据长度。其编码方法如下:<br /> * Serializes a long to a binary stream with zero-compressed encoding.<br /> * For -112 <= i <= 127, only one byte is used with the actual value.<br /> * For ot
2011-05-03 13:59:00 928
原创 狭义相对论--洛仑兹变换推导
看了好多书,总是觉得讲的不清楚,经过两天的折腾,终于明白是怎么回事了。1、出了什么问题:光速不变性原理牛顿物理学的绝对时空观解决不了一个问题,就是光速不变的问题,实践证明,光速是不变的,无论在任何的惯性坐标系中都是不变的,这叫做光速不变性原理。2、相对性原理:这是一条公设:时间空间是均匀的,因此在平行运行的惯性坐标系之间的左边转换应该是线性的,并且是相同的。3、问题的数学表达:两个坐标系s,s1,并且s1相对于s沿x轴正向以速度v做匀速直线运动,假设一个事件A,在s中的坐标是(x,y,z,t),在s1中的坐
2011-02-23 20:53:00 2343
原创 MR原理
<br /> <br />MR原理:<br /><br /><br /> <br />一个完整的MR过程就是从输入KV对到输出KV对的一系列转化:<br /><br /><br /> <br />1、输入KV_i对序列(一般来自文件),经过InputFormat过滤得到KV_mi<br />2、KV_mi输入到Mapper函数处理,得到KV_mo<br />3、KV_mo首先经过Partitionor处理,计算每个KV_mo将被发送到那个Reducer,记为KV_ri<br />4、每个Reducer收到所
2010-12-31 17:59:00 1004
原创 中位数
来自水木上的一个问题:x轴上n个点,xi求一个点x,到所有点的距离的和最小。答案:如果n是奇数,则此点是中位数点如果n是偶数,则此点是中间两点之间的任意一点。简单解法:将n个点用如下方法连接,将x1和xn连接,x2和xn-1连接,依次类推,最后,剩下中间的一个点就是x,此时上述所有连线的和就是距离和,想象x无论向左还是向右,距离都只会增加不会减少。
2010-11-29 19:45:00 357
原创 bloom filter中的数学问题抽象
bloom filter算法中计算错误率的时候,能够抽象出一个数学问题:问题描述如下:f(k)=k*ln(1-e^k) 求最小值上面推导过程的说明:g(x)是一个单增函数,才导致g(x) = g(1-x).关于filter的原理参见参考文献。 参考文献:1、http://blog.csdn.net/jiaomeng/archive/2007/01/27/1495500.aspx2、http://www.eecs.harvard.edu/~michaelm/postscripts/im2005b.pdf
2010-11-26 19:41:00 318
具体数学中文版
2008-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人