当前位置:文档之家› 大数据基础技术概述

大数据基础技术概述


Twitter的storm
Twitter的storm:Storm是一个分布式的、容错的实时计算系统。 Storm用途:可用于处理消息和更新数据库(流处理),在数据流上 进行持续查询,并以流的形式返回结果到客户端(持续计算),并行化 一个类似实时查询的热点查询(分布式的RPC)。
大数据处理的基本流程 大数据关键技术 Hadoop介绍
流计算介绍
图计算介绍 NoSQL介绍 大数据面临的其他问题
11
Hadoop简介
Hadoop 一个分布式系统基础架构,由Apache基金会开 发。 Hadoop是一个开源的可运行于大规模集群上的分布式并 行编程框架,借助于Hadoop,程序员可以轻松地编写分 布式并行程序,将其运行于计算机集群上,完成海量数 据的计算。
大数据面临的其他问题

18
什么是流计算
流计算来自于一个信念:
数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理, 最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存起
来成一批再处理。
流计算的概念:
流计算是针对流式数据的实时计算。 流式数据(流数据):是指将数据看作数据流的形式来处理。数据流是在时间分布 和数量上无限的一系列动态数据集合体;数据记录是数据流的最小组成单元。 流数据具有数据实时持续不断到达、到达次序独立、数据来源众多格式复杂、数据 规模大且不十分关注存储、注重数据的整体价值而不关注个别数据等特点。
换从不停止,它们会持续处理到达的数据。
为了支持流式处理,MapReduce需要被改造成Pipeline的模式,而不是reduce直接输 出;考虑到效率,中间结果最好只保存在内存中等等。这些改动使得原有的
MapReduce框架的复杂度大大增加,不利于系统的维护和扩展。
用户被迫使用MapReduce的接口来定义流式作业,这使得用户程序的可伸缩性降低。
19
流计算的应用场景


流计算是针对流数据的实时计算,其主要应用在于产生大量流数据、同时对实时性 要求高的领域。 流计算一方面可应用于处理金融服务如股票交易、银行交易等产生的大量实时数据。 另一方面流计算主要应用于各种实时Web服务中,如搜索引擎、购物网站的实时广告 推荐,SNS社交类网站的实时个性化内容推荐,大型网站、网店的实时用户访问情况 分析等。
5
数据解释
数据分析是大数据处理的核心,但是用户往往更关心结果的展示。如果分析的 结果正确但是没有采用适当的解释方法,则所得到的结果很可能让用户难以理 解,极端情况下甚至会误导用户。 大数据时代的数据分析结果往往也是海量的,同时结果之间的关联关系极其 复杂,采用传统的解释方法基本不可行
可以考虑从下面两个方面提升数据解释能力: -- 引入可视化技术 -- 让用户能够在一定程度上了解和参与具体的分析过程

使用流计算为词频轻松地实现MapReduce功能。如图中所示,喷嘴生成文本数据流, 螺栓实现 Map 功能(令牌化一个流的各个单词)。来自“map”螺栓的流然后流入 一个实现 Reduce 功能的螺栓中(以将单词聚合到总数中)。

22
流计算产品
Yahoo的S4
S4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的流 式系统,Yahoo!开发S4系统,主要是为了解决:搜索广告的展现、处 理用户的点击反馈。
计算
Map Reduce 流计算 图计算 ………
应用
HIVE,pig,maho ut,Sqoop以及 ETL工具,统计与 报告工具等

8
Google的技术演进
Google 于2006 年首先提出了云计算的概念,并研发了一系列云计算技术和工 具。难能可贵的是Google 并未将这些技术完全封闭,而是以论文的形式逐步公开其实现。 正是这些公开的论文,使得以GFS、MapReduce、Bigtable 为代表的一系列大数据处理 技术被广泛了解并得到应用,同时还催生出以Hadoop为代表的一系列云计算开源工具。 下图展示了Google的技术演化过程:
Hadoop中HDFS的高容错特性,以及它是基于Java 语言 开发的,这使得Hadoop可以部署在低廉的计算机集群中, 同时不限于某个操作系统。Hadoop中HDFS的数据管理能 力,MapReduce处理任务时的高效率,以及它的开源特 性,使其在同类的分布式系统中大放异彩,并在众多行 业和科研领域中被广泛采用。

6
大数据基础技术概述
大数据处理的基本流程 大数据关键技术 Hadoop介绍
流计算介绍
图计算介绍 NoSQL介绍 大数据面临的其他问题
7
大数据技术分类
存储
分布式缓存、基于 MPP的分布式数据库、 分布式文件系统、各 种NoSQL分布式存储 方案,内存数据库等
数据分析
传统的分析技术如数据挖掘、机器学习、统计分析等在大数据时代需要做出调 整,因为这些技术在大数据时代面临着一些新的挑战,主要有:
数据量大并不一定意味着数据价值的增加,相反这往往意味着数据噪音的增多 大数据时代的算法需要进行调整(邦弗朗尼原理) 数据结果好坏的衡量

13
Hadoop的优点
可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计 根本。 经济:框架可以运行在任何普通的PC上。 可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控 保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本 数) 高效:分布式文件系统的高效数据交互实现以及MapReduce结合 Local Data处理的模式,为高效处理海量的信息作了基础准备。

20
Hale Waihona Puke 流计算与Hadoop 流计算与其他大数据解决方案的不同之处在于它的处理方式: Hadoop 在本质上是一个批处理系统。数据被引入 Hadoop 文件系统 (HDFS) 并分发 到各个节点进行处理。当处理完成时,结果数据返回到 HDFS 供始发者使用。 流计算支持创建拓扑结构来转换没有终点的数据流。不同于 Hadoop 作业,这些转
大数据基础技术概述
夏飞 03621
日期:2014年10月 杭州华三通信技术有限公司
大数据基础技术概述
大数据处理的基本流程
大数据关键技术
Hadoop介绍 流计算介绍 图计算介绍 NoSQL介绍
大数据面临的其他问题

2
大数据处理的基本流程
整个大数据的处理流 程可以定义为:在合 适工具的辅助下,对 广泛异构的数据源进 行抽取和集成,结果 按照一定的标准进行 统一存储,并利用合 适的数据分析技术对 存储的数据进行分析, 从中提取有益的知识 并利用恰当的方式将 结果展现给终端用户。 具体来说,可以分为 数据抽取与集成、数 据分析以及数据解释。
3
数据抽取与集成
大数据的一个重要特点就是多样性,这就意味着数据来源极其广泛,数据类型极为繁杂。
这种复杂的数据环境给大数据的处理带来极大的挑战。 要想处理大数据,首先必须对所需数据源的数据进行抽取和集成,从中提取出关系和实 体,经过关联和聚合之后采用统一定义的结构来存储这些数据。 在数据集成和提取时需要对数据进行清洗,保证数据质量及可信性。 现有的数据抽取与集成方式可以大致分为以下四种类型:数据整合、数据联邦、数据传播 和混合方法等。
Pregel主要绘制大量网上信息之间关系的“图形数据库” Dremel可以在极快的速度处理网络规模的海量数据。据Google提交的文件 显示你可以在几秒的时间处理PB级的数据查询。

17
大数据基础技术概述
大数据处理的基本流程
大数据关键技术
Hadoop介绍 流计算介绍 图计算介绍 NoSQL介绍
(1) 数据整合(Data Consolidation):不同数据源的数据被物理地集成到数据目标。利用ETL工具把数据源中的数据 批量地加载到数据仓库,就属于数据整合的方式。 (2)数据联邦(Data Federation):在多个数据源的基础上建立一个统一的逻辑视图,对外界应用屏蔽数据在各个 数据源的分布细节。对于这些应用而言,只有一个统一的数据访问入口,但是实际上,被请求的数据只是逻辑意义上的集 中,在物理上仍然分布在各个数据源中,只有被请求时,才临时从不同数据源获取相关数据,进行集成后提交给数据请求 者。当数据整合方式代价太大或者为了满足一些突发的实时数据需求时,可以考虑采用数据联邦的方式建立企业范围内的 全局统一数据视图。 (3)数据传播(Data Propagation):数据在多个应用之间的传播。比如,在企业应用集成(EAI)解决方案中,不 同应用之间可以通过传播消息进行交互。 (4)混合方式(A Hybrid Approach):在这种方式中,对于那些不同应用都使用的数据采用数据整合的方式进行集 成,而对那些只有特定应用才使用的数据则采用数据联邦的方式进行集成。 4

9
大数据处理工具
Hadoop 是目前最为流行的大数据处理平台。除了Hadoop,还有很多针对大 数据的处理工具。这些工具有些是完整的处理平台,有些则是专门针对特定的大数据处理 应用。下表归纳总结了现今一些主流的处理平台和工具。

10
大数据基础技术概述


14
Hadoop生态系统

15
Hadoop生态系统
Avro用于数据序列化的系统; HDFS是一种分布式文件系统,运行于大型商用机集群,HDFS为HBase提供了高可靠性 的底层存储支持; HBase位于结构化存储层,是一个分布式的列存储数据库; MapReduce是一种分布式数据处理模式和执行环境,为HBase提供了高性能的计算能 力; Zookeeper是一个分布式的、高可用性的协调服务,提供分布式锁之类的基本服务, 用于构建分布式应用,为HBase提供了稳定服务和failover机制; Hive是一个建立在Hadoop 基础之上的数据仓库,它提供了一些用于数据整理、特殊 查询和分析存储在Hadoop 文件中的数据集的工具; Pig是一种数据流语言和运行环境,用以检索非常大的数据集,大大简化了Hadoop常 见的工作任务; Sqoop为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁 移变的非常方便。
相关主题