美文网首页
Hadoop 初探

Hadoop 初探

作者: 法号无涯 | 来源:发表于2017-11-22 22:42 被阅读9次

感觉Udacity上的hadoop课程挺棒,还是免费的。于是拿来听听看。
说到大数据,被提到的最重要的概念就是3v了。volume、variety、velocity。都是字面意思。其中variety指的是数据会有很多种类,格式也各不相同。用大数据我们可以不管它的格式或者内容,直接进行存储,有用的时候拿出来用就是。比如与客服的通话记录,我们可以是以text形式存储,同时也可以直接把mp3格式的语音记录也存储起来。万一以后机器能对这些完全理解透彻了呢。

hadoop 生态系统

屏幕快照 2017-11-22 下午2.08.32.png

课程1的第18节里对hadoop生态系统做了简单介绍。从图中可知,Pig和Hive是建立在mapreduce操作上的,用户写的Pig或Hive命令会被转化成mapreduce代码被执行。
而其他模块则没有出现在mapreduce的上面,比如Hbase、sqoop等。接下来要对这些慢慢了解一些。
其中CDH是cloudera这个公司做的一个继承了hadoop生态系统里很多工具的集,可以省去很多配置安装的麻烦。

HDFS(hadoop distributed file system)

数据在hadoop上被分成一个个块来存储。比如一个150M的数据,会被分成64、64、22的三个块,分别存储到三个DataNode上。还要有一个NameNode用来记录这些块分别是存储到哪些机器的,就是metadata。
为了使数据有冗余去应对节点数据遭损毁,一个数据块会被分别存储在三个data节点上,而namenode则会有两台,一个是主要namenode,还有一个是standby节点。

hadoop 命令

和linux的命令都差不多,只是都以 hadoop fs - 开头(如果没记错的话)

mapreduce

课程中对mapreduce举了一个例子。假设现在有一个很大的账本,上面记录着各地区门店的每一个订单以及订单金额。如何获得各地区的销售额?传统的方式的话可能是会使用一个hashtable类似的数据结构,去分别计算各个地区总销售额。这样做可能会吃掉计算机全部内存,又很慢。
而mapreduce是个分布式的方式。


屏幕快照 2017-11-22 下午3.24.55.png

其中mapper可以被看作是专门做分类的人。这些人每人分到账本中的一部分,并对其中的订单按地区进行分类。
reducer则把mapper分好类的订单拿来,把同一个地区的放到一起,构成一个个更大的某地区的订单集合。最后对这些做简单的求和操作。
Mappers are little programs each deal with small amount of data, and work in parallel.
We call that output intermediate records, hadoop deals with all data in the form of key and value.
Once the mapper finished, a phase of called shuffle and sort take place. The shuffle is the movement that of the intermediate records from the Mappers to the Reducers. The Sort is the fact that the Reducers will organize these sets of records into sorted order.

Task tracker

一个mapreduce任务运行起来的时候这个任务会被交给 JobTracker,jobTracker 会把任务分成多个mapper和reducer,这些mapper、reducer运行在其他节点上。真正的map 和 reduce 这些任务是由一个daemon叫做trasktracker 负责的,这些tracker用来在每个数据块上做map操作。如果某个数据块所处的三个节点的tasktracker都被占用了,则由其他的一个节点用stream的方式得到结果,也就是intermediate result,用来shuffle and sort的数据。map操作的输入是整个要处理的数据的一部分,被称作input split,默认的一个input split是一个64M块。

执行任务命令

hs {mapper script} {reducer script} {input_file} {output directory}

其中 output directory 必须是一个还不存在的目录,如果已存在该目录,hadoop会拒绝执行。

相关文章

  • HDFS详解二:客户端Java Api

    在《Hadoop三:Hadoop Java API初探(完结)》中已经介绍了为什么需要从winddows的ecli...

  • HFTP文件系统解析

    初探 抽象类org.apache.Hadoop.fs.FileSystem代表hadoop的一个文件系统,目前系统...

  • Hadoop初探

    天天研究iOS底层原理,容易出问题;对大数据垂涎已久,现在有时间正好了解一下,记录安装及运行demo的一些点 1....

  • Hadoop初探

    前言 近几年,大数据,云计算,机器学习成为了非常热门的话题,这些技术运用在了很多的领域,也是在未来很有发展前景的技...

  • Hadoop 初探

    感觉Udacity上的hadoop课程挺棒,还是免费的。于是拿来听听看。说到大数据,被提到的最重要的概念就是3v了...

  • Hadoop初探

    Hadoop是什么? Hadoop是一种分布式计算架构,它能够充分利用集群的威力来进行高速计算和存储。 从上面这句...

  • 小白学习大数据测试之hadoop再次探索

    引子 虽然通过《小白学习大数据测试之hadoop初探》以及把hadoop的基本核心说明白了,但是似乎对于小白来说还...

  • Hadoop初探--快速入门

    古时候,人们用牛来拉重物,当一头牛拉不动一根圆木得时候,他们不曾想过培育个头更大的牛。同样,我们也不需要尝试更大的...

  • 【Hadoop】一:MapReduce初探

    基本概念 在python和swift中,map,reduce都是一种高阶函数(还有filter),那么什么是高阶函...

  • Hadoop三:Hadoop Java API初探(完结)

    前面介绍了Hadoop的原理、安装、运行和客户端命令,这一节我会演示hadoop的java api去实现hadoo...

网友评论

      本文标题:Hadoop 初探

      本文链接:https://www.haomeiwen.com/subject/yzwnvxtx.html