前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅析hadoop框架设计

浅析hadoop框架设计

作者头像
week
发布2018-08-24 15:13:04
6360
发布2018-08-24 15:13:04
举报
文章被收录于专栏:用户画像用户画像

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

一、关系型数据库和MapReduce

    数据库系统只更新一部分记录,比mapreduce有优势。但是,如果更新大量数据时,效率就要比mapreduce低很多,因为需要使用“排序/合并”来重建数据库。mapreduce比较适合以批处理方式处理需要分析整个数据集的问题;而RDBMS适用于“点查询”和更新,数据集被索引后,数据库系统能够提供低延迟的数据检索和快速的少量数据更新。mapreduce适合一次写入,多次读取数据的应用,而关系型数据库更适合持续更新的数据集。

     另一个区别在于它们所操作的数据集的结构化程度。结构化数据是具有既定格式的实体化数据,如xml文档等。半结构化数据比较松散,虽可能有格式,但也可以被忽略,所以他只能用作对数据结构的一般指导,如一张电子表格,其结构是由单元格组成的网格,但是每个单元格自身可保存任何形式的数据。非结构化数据没有什么特别的内部结构,例如纯文本等。mapreduce对于非结构化或半结构化数据非常有效,因为在处理数据时才对数据进行解释。而关系型数据都是规范的,以保证数据的完整性且不含冗余。规范化给mapreduce带来了问题,因为它使记录读取成为异地操作,不能进行高速的流式读写,而使用mapreduce的核心前提就是他可以进行高速的流式读写操作。

二、分布式计算

     1. mapreduc会尽量在计算节点上存储数据,以实现数据的本地快速访问,从而获得良好的性能,降低使用的网络带宽。

     2. mapreduce让程序员无需考虑系统部分失效问题,因为自身系统实现难能够检测到失败的map或reduce任务,并让正常运行的机器重新执行这些失败的任务,即各个任务之间彼此独立。

三、hadoop的设计目标

     服务于那些只需数分钟或数小时即可完成的作业,并且运行于内部通过高速网络连接的单一数据中心内,并且该数据中心内的计算机需要由可靠的,定制的硬件构成。

四、常见的hadoop相关项目

     mapreduce:分布式数据处理模型和执行环境,运行于大型商用集群

     hdfs:分布式文件系统,运行于大型商用集群

     hive:一个分布式,按列存储的数据仓库。hive管理hdfs中存储的数据,并提供基于sql的查询语言用以查询数据。

     hbase:一个分布式,按列存储数据库。hbase使用hdfs作为底层存储,同时支持mapreduce的批量式计算和点查询

     zookeeper:一个分布式,可用性高的协调服务。zookeeper提供分布式锁之类的基本服务用于构建分布式应用

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年11月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档