五分钟零基础搞懂Hadoop.doc


立即下载 一生流水
2024-02-16
机器 数据 关键 文件 算法 Google 搜过 搜索 Hadoop 石油
409 KB

「大数据」,想必大家经常听到这个被炒得很热的话题。随之而来的是各种看似高大上的专业术语,比如「扩展性」、「可靠性」、「容错性」,好像真的很高深,要积累多年经验才能学习。
但另一方面,很多同学都刚刚进入互联网这个行业,对分布式计算还没有很多了解,那是不是就要花很多力气才能搞懂「大数据」呢?不必担心,包子老师在这里用浅显易懂深入浅出的语言,帮助没有基础的同学快速的入手「大数据」,让每位同学都能迅速学会最前沿的技术。今天,我们先学习当前使用最广泛的大数据处理框架 Hadoop.
Hadoop,你是怎么来的?
今天的社会产生越来越多的数据,比如:你登录Facebook以后点击了哪些好友,你在Amazon上浏览了哪些产品,你在linkedin上浏览了哪些公司,甚至到从石油矿井里的钻头收集了哪些地质信息。
我们还发现,通过分析这些数据总结规律,我们可以让Facebook和Amazon显示让用户更感兴趣的广告,公司HR会更准确找到合适的求职者,石油公司也能用更低的成本开采更多的石油。
那找个软工写算法不就行了吗?
确实,这些决策都是通过算法找到规律的。可问题是现在的数据量太大了,一台机器要完成一个问题要算好久好久。
那用多台机器处理不就行了吗?
确实,Hadoop以及其他任何大数据框架都是多台机器共同处理的。可问题是,这些算法都要完成一个特定的问题,给出一个答案,多台机器不能自己算自己的,他们要有不同的分工,联合起来共同算完这个问题。这里就是Hadoop等框架的特长。
我们举个例子吧:
Google是大家常用的搜索引擎,作为业务的重要特征,它自然想知道大家对哪些关键字感兴趣,比如以天为单位,收集所有人搜过的关键字,统计其出现的次数。
这听起来像个哈希表就能干的问题对吧?可是,每天那么多人使用Google,它不可能把这些关键字都放在内存里,而且Google也是用很多服务器为大家完成搜索的,所以一天里所有搜过的关键字,都以文件的形式存在多台机器上。我们就叫这些机器1, 2, 3......n.
比如在机器1上存储了一个文件,内容是所有搜过的关键字:Deer, Bear, River …...
既然Log文件存放在多台机器中,那如何计算关键字出现的总次数呢?
一种直观的算法,就是先让每台机器统计本机上每个关键字的搜索次数,写段算法统计一个文件里的关键字很简单


机器/数据/关键/文件/算法/Google/搜过/搜索/Hadoop/石油/ 机器/数据/关键/文件/算法/Google/搜过/搜索/Hadoop/石油/
-1 条回复
登录 后才能参与评论
-->