最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

[基础] HADOOP原理解读

[复制链接]
跳转到指定楼层
楼主
发表于 2019-3-11 20:20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

首先阐述两个事实,然后再针对事实来引出问题的解决方案,以更好的帮助我们来理解hadoop处理架构:

1、数据现状:2000年以前,结构化数据占主流地位,数据大多标准的数字数据,而2000年以后,非结构化的数据异军突起,来自监控、网站的视频和图像数据,以及来自微博等网页的文本数据逐渐取代结构化数据的主流地位。

2、处理技术现状:传统关系型数据库无法处理几亿行长,几百万行宽的宽表,且面对视频、图像等非结构化数据无能为力。

传统架构存在的问题

一、大数据存储解决方案HDFS

如何解决传统数据库的存储问题?答案是文件存储。把网站的TB级以上数据量保存在一个文件里,通过对文件读操作,实现对大数据的分析,方案是不是很完美,NO,面临一个很实际的问题,读取效率低!

那如何解决文件存储慢的问题,答案是分而治之,采取分布式文件存储!!!

集中存储

分布式存储

读到这里,是不是理解起来毫不费力?重要的是,恭喜你,你已经掌握了Hadoop生态系统的核心之一-----分布式文件系统HDFS的原理就是这样的。

采用分布式文件系统HDFS已经解决了大数据的存储问题和读取效率问题,试问,如果存储文件的一个服务器出现了故障,文件被损坏,造成数据的丢失,该如何避免这种情况?答案是备份,至少做3个备份,如下图:

安全可靠

HDFS优点总结:

1、支持任意超大文件存储;硬件节点可不断扩展,低成本存储(真实案例为:4000节点,目前最大5000节点);

2 、对上层应用屏蔽分布式部署结构,提供统一的文件系统访问接口,感觉就是一个大硬盘;应用无需知道文件具体存放位置,使用简单;

3、文件分块存储(1块缺省64MB),不同块可分布在不同机器节点上,通过元数据记录文件块位置;应用顺序读取各个块;

4 、系统设计为高容错性,允许廉价PC故障;每块文件数据在不同机器节点上保存3份;这种备份的另一个好处是可方便不同应用就近读取,提高访问效率。

HDFS缺点总结:

1、适合大数据文件保存和分析,不适合小文件,由于分布存储需要从不同节点读取数据,效率反而没有集中存储高;一次写入多次读取,不支持文件修改;

2、是最基础的大数据技术,基于文件系统层面提供文件访问能力,不如数据库技术强大,但也是海量数据库技术的底层依托;

3、文件系统接口完全不同于传统文件系统,应用需要重新开发。

二、大数据运算解决方案MapReduce

Hadoop的分布式计算模型MapReduce,最早是Google提出的,主要用于搜索领域,解决海量数据的计算问题。MapReduce有两个阶段组成:Map和Reduce,用户只需实现map()和reduce()两个函数,即可实现分布式计算

准备好板凳,下面是干货!!!

以统计某个文件中Deer、Car和 Bear三个单词的数量为例,如下图,来说明MapReduce是如何实现快速高效的分布式存储计算的。

单词统计

计算过程如下: 1、文件准备;

2、文件切片:这里切分为三片(作业并行处理,效率加倍哦);

3、Map过程:接受一个键值对,产生一组键值对,比如(Deer,1),代表Deer为键,1为值,代表Deer单词的数量。

4、派发过程:Shuffle将键值对派发给Reduce;

5、Reduce过程:将相同键的值累加(计算靠近的数据);

6、输出计算结果。

MapReduce技术特征总结:

1、自动并行化:系统自动进行作业并行化处理;

2、自动可靠处理:系统自动处理节点/任务的故障检测和恢复;

3、灵活扩展:节点可以灵活加入和退出,系统自动感知节点状态并进行处理;

4、 高性能:计算任务将被调度至数据所在的节点,减少网络开销,提升执行性能。

三、HADOOP生态系统

大数据不仅仅是指大量复杂的数据,而且描绘了一个正在快速涌现的生态系统,从新技术,新技能,新实践到崭新的商业模式,使企业和组织有能力对大量的,不断增长的,多样的,多维的,结构化以及非结构化数据进行管理,分析并采取行动。在此需求的推动下,Hadoop分布式存储和计算架构运应而生

HADOOP系统的两大核心就是HDFS和MapReduce,上面均已介绍过,这里简单介绍一下HADOOP系统常用的其他组件。

Hadoop组件

Impala:用于数据汇聚处理;

Hive:可以认为是一个数据仓库,其建立在Hadoop其他组件之上,包括数据的存储(基于HDFS或HBase)以及查询(依赖于Map/Reduce);

Hbase:是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群;

Pig:是一种数据流语言和运行环境,用于检索非常大的数据集。为大型数据集的处理提供了一个更高层次的抽象。Pig包括两部分:一是用于描述数据流的语言,称为Pig Latin;二是用于运行Pig Latin程序的执行环境。适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-20 21:03

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表