小白学习大数据测试之hadoop初探
Hadoop的历史 这里就不多说了,网上很多资料,总而言之对于hadoop谷歌和雅虎对于ta的贡献功不可没。更多介绍请自行查看这里:https://baike.baidu.com/item/Hadoop/3526507?fr=aladdin Hadoop的应用场景 数据分析,如日志系统、推荐系统 离线计算 海量数据存储 Hadoop的核心 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 这里特别需要注意的是hadoop是一个总称,主要由HDFS和MapReduce组成。其中MapReduce可以独立使用,用户只要继承MapReduceBase,提供分别实现Map和Reduce的两个类,并注册Job即可自动分布式运行 HDFS ta是Hadoop分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集的应用程序。可以加入QQ交流群522720170一起来学习。 那么HDFS有什么优势吗?显然非常多,大致有如下几点: 1、适合存储大数据的文件,T级别以上或者一大坨的数据 2、这些大数据文件被打散存储,存储在不同的计算器上,这样方便快速的读取 3、一次写入不能做变化了,如果变化也只能在末尾添加,也就是不支持动态改变文件内容 4、同一个文件块副本会分配到其它某几个主机上,如果其中一台主机失效,可以迅速找另一块副本取文件 5、不用多说了,一堆廉价的机器就可以撑起大数据集群 了解HDFS之后我们来看看他的存储结构,看图说话 上图的解释如下:
MapReduce ta大家可以理解为编程模型,主要就是完成对数据的处理的。当HDFS完成存储之后,对海量数据的分析处理就要依靠MapReduce了。简单来理解就是先对数据进行map划分,在对数据进行reduce合并,如下图。 为了让大家更好的理解,这里举个栗子。假设小强测试品牌学员群有上亿的学员(这是我们的目标,嘿嘿,官网http://xqtesting.sxl.cn)我们想找出其中薪水最高的那个人。放到MapReduce里大概是这样的过程:将数据扔到block中,然后进行map找到最高的,然后再reduce汇总分析找出最大的。这个过程非常复杂要经历key-value的产生重组等过程,但是hadoop已经帮我们实现了,我们只需要编写相应的命令即可。 hadoop大数据处理的意义 Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。 Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。 Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |