简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年10月9日

摘要: 背景在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希表(hash table)来存储的。它的好处是快速准确,缺点是费存储空间。当集合比较小时,这个问题不显著,但是当集合巨大时,哈希表存储效率低的问题就显现出来了。比如说,一个象 Yahoo,Hotmail 和 阅读全文
posted @ 2012-10-09 22:25 ggjucheng 阅读(2296) 评论(0) 推荐(0)

摘要: 在分布式算法领域,有个非常重要的算法叫Paxos, 它的重要性有多高呢,Google的Chubby [1]中提到all working protocols for asynchronous consensus we have so far encountered have Paxos at their core.关于Paxos算法的详述在维基百科中有更多介绍,中文版介绍的是choose value的规则[2],英文版介绍的是Paxos 3 phase commit的流程[3],中文版不是从英文版翻译而是独立写的,所以非常具有互补性。Paxos算法是由Leslie Lamport提出的,他在Pa 阅读全文
posted @ 2012-10-09 21:57 ggjucheng 阅读(989) 评论(0) 推荐(0)

摘要: 大部分是小作业,大多数运行几分钟或十几分钟.绝大多数在半小时之内。占用的slot数一般为几十到几百。集群同时在运行的作业数比较多。繁忙的时候同时运行的作业有六百多个, 每天完成的作业数万个。有些作业被分析多个要求顺序执行的小作业。各作业的依赖性比较大, 后面一组作业的开始时间受限前一组作业的结束时间Map slots与Reduce slots使用率不高,特别是Reduce Slots。作业周期性比较明显,每个晚上1点到5点左右,集群处于相对忙的状态,白天很空闲。作业时效性要求较强。大部分作业要求在上午8点前执行结束,特别是涉及前端产品,如量子统计、数据魔方等业务的作业。如果上班前作业没有执行完 阅读全文
posted @ 2012-10-09 21:43 ggjucheng 阅读(758) 评论(0) 推荐(0)

摘要: 国内外使用Hadoop的公司比较多,全球最大的Hadoop集群在雅虎,有大约25,000个节点,主要用于支持广告系统与网页搜索。国内用Hadoop的主要有百度、淘宝、网易、华为、中国移动等,其中淘宝的Hadoop集群属于较大的(如果不是最大)。淘宝Hadoop集群现在超过1700个节点,服务于用于整个阿里巴巴集团各部门,数据来源于各部门产品的线上数据库(Oracle, MySQL)备份,系统日志以及爬虫数据,截止2011年9月,数量总量已经超过17个PB,每天净增长20T左右。每天在Hadoop集群运行的MapReduce任务有超过4万(有时会超过6万),其中大部分任务是每天定期执行的统计任务 阅读全文
posted @ 2012-10-09 21:41 ggjucheng 阅读(5947) 评论(0) 推荐(0)

摘要: 你能想象一个企业的数据仓库究竟有多大吗?虽然下面的数据来自于两年前,但是还是挺震撼的。相信目前,这些巨型的数据仓库“怪物”的体积又增大了几倍。行业分析师Curt Monash曾经见过许多非常大型的数据仓库,并进行了总结,其中用到的数据管理软件工具更是多种多样,有传统的Teradata数据仓库,也有Greenplum这样的MPP数据库,还有许多开源的技术,比如Hadoop/Hive等。 1、ebay:公司有超过6.5 PB的数据库运行在Greenplum上,另外2.5 PB的企业数据仓库运行在Teradata上。 2、Facebook:脸书公司刚刚完成IPO,它们是著名的互联网数据巨鳄,也... 阅读全文
posted @ 2012-10-09 21:36 ggjucheng 阅读(1576) 评论(0) 推荐(0)

摘要: 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。1.Bloom filter适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集基本原理及要点:对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数 阅读全文
posted @ 2012-10-09 21:34 ggjucheng 阅读(4388) 评论(0) 推荐(1)