浅谈大数据生态圈

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、延迟高:一次计算可能需要分解成一系列按顺序执行的 MapReduce任务,任务之间的衔接由于涉及到IO开销,会产生 较高的延迟。而且在前一任务执行完成之前,其他任务无法 开始,因此难以胜任复杂、多阶段 的计算任务。
三是处理速度快。数据处理遵循“1秒定律”,可从各种类 型的数据中快速获得高价值的信息。
四是价值密度低。以视频为例,一小时的视频,在不间断 的监控过程中,可能有用的数据仅仅只有一两秒。
大数据,首先你要能存的 下大数据
传统的文件系统是单机的,不能横跨不同的机器。HDFS( Hadoop Distributed FileSystem)的设计本质上是为了大量的 数据能横跨成百上千台机器,但是你看到的是一个文件系统而 不是很多文件系统。
Hadoop 概述
Hadoop 是 Apache 软件基金会旗下的一个开源分布式计 算平台。以 Hadoop 分布式文件 系统(HDFS,Hadoop Distributed File System)和 MapReduce(Google MapReduce 的开源实现)为核心的 Hadoop,为用户提供 了HD系F统S 底的层高细容节错透性明、的高分伸布缩式性基等础优架点构允。许用户将 Hadoop 部署在低廉的硬件上, 形成分布式系统; MapReduce 分 布式编程模型允许用户在不了解分布式系统底层细节的情 况下开发并行应用程序。所以,用户可以利用 Hadoop 轻 松地组织计算机资源,从而搭建自己的分布式计算平台, 并且可以充分利用集群的计算和存储能力,完成海量数据 的处理
Map-Reduce 流程
MapReduce 模型首先将用户的原始数据源进行分块,然后分别交给不同 的 Map 任务区处理。Map 任务从输入中解析出 Key/Value 对集合,然后 对这些集合执行用户自行定义的 Map 函数得到中间结果,并将该结果写 入本地硬盘。Reduce 任务从硬盘上读取数据之后, 会根据 key 值进行排 序,将具有相同 key 值的组织在一起。最后用户自定义的 Reduce 函数会
什么是 MapReduce?
找出一仓库黄豆中最大的 n如个何黄解豆决?
找N个人一起筛黄豆, 最后把每个人筛出的K 个黄豆放在一起 (总共 N*K个黄豆),再交由 一个人筛出N*K个黄豆 里最大的K个 (分布式 计算)
一仓库黄 豆
一一
一一
桶桶
桶桶

黄…
来自百度文库



豆…



筛 MAP 筛





黄黄 豆豆
黄黄 豆豆
一 桶 黄 豆
Re筛duc 黄 子e 豆
MapReduce模型 概述
一个 MapReduce 作业(job)通常会把输入的数据集切分 为若干独立的数据块,由 map 任务(task)以完全并行的 方式处理它们。框架会对 map 的输出先进行排序,然后把 结果输入给 reduce 任务。通常作业的输入和输出都会被 存储在文件系统中。整个框架负责任务的调度和监控,以 及重新执行已经失败的任务。
ck blo
ck ck
ck ck
blo ....... blo .......
ck ck
blo .......
ck
ck
ck
据块的创建、删 除和复制工作。
存的下数据之后,你就开始考虑怎 么处理数据
虽然HDFS可以为你整体管理不同机器上的数据,但是这些 数据太大了。一台机器读取成TB或者PB量级的数据,一台 机器慢慢跑也许需要好几天甚至好几周。
比如你说我要获取/hdfs/tmp/file1的数据,你引用的是一个文 件路径,但是实际的数据存放在很多不同的机器上。你作为用 户,不需要知道这些,就好比在单机上你不关心文件分散在什 么磁道什么扇区一样。HDFS为你管理这些数据。
那什么是HDFS(Hadoop Distributed FileSystem)?
数据请求
NameNode
DataNode 负责 处理文件系统客
户端的文件读写
读写 文件
处理数据 请求,并在
相关
NameNode 的统
操作
一调度下进行数
DataNode
DataNode
DataNode
blo blo
blo blo
blo blo
ck ck blo blo
ck blo
ck blo
.......bclko
浅谈大数据生态体系
Talking about big data ecosystem
何为大数 据
大数据是指无法在一定时间内用常规软件工具对其内容进行抓 取、管理和处理的数据集合。
大数据的特点:
一是数据体量巨大。至少是PB级别以上量级的数据
二是数据类型多样。现在的数据类型不仅是文本形式,更 多的是图片、视频、音频、地理位置信息等多类型的数据 ,个性化数据占绝对多数。
对于很多公司来说,单机处理是不可忍受的,比如微博要 更新24小时热博,它必须在24小时之内跑完这些处理。那 么我如果要用很多台机器处理,我就面临了如何分配工作 ,如果一台机器挂了如何重新启动相应的任务,机器之间 如何互相通信交换数据以完成复杂的计算等等。
为了解决以上可能出现的问题,人们正式提出了MapReduce / Tez / Spark等等框架。MapReduce是第一代计算编程模 型,Tez和Spark是第二代。MapReduce的设计,采用了极简 化的计算模型,只有Map和Reduce两个计算过程,通过这个 模型,已经可以处理大数据领域很大一部分问题了。
MapReduce的缺点
Hadoop的一个最主要缺陷: MapReduce计算模型延迟过高, 无法胜任实时、快速计算的需求,因而只 适用于离线批处理 的应用场景。
1、表达能力有限:计算都必须要转化为Map和Reduce两个操 作,但这并不是适合所有的情况,难以描述复杂的数据处理 过程;
2、磁盘IO开销大:每次执行时都需要从磁盘读取数据,并且 在计算完成后需要将中间结果写入磁盘,IO开销较大;
一个分布式存储系统
Google GFS的开源实现
数据存储采用master/slave架构模式,主要由Client、 NameNode、Secondary NameNode和DataNode组成
HDFS:体系结构示 意图
NameNode管理文 件系统的命名空 间和客户端对文
件的访问操作。
Client
相关文档
最新文档