课时2 大数据处理的基本思想与架构 课时目标 1.了解大数据处理架构和基本思路。2.了解静态数据、流数据和图数据三者的区别。 1.处理大数据时一般采用分治思想,就是把一个复杂的问题分成两个或更多相同或相似的子问题。 分治思想的实现过程 2.大数据处理类型有静态数据、流数据和图数据三大类。 3.Hadoop是一个可运行于大规模计算机集群上的分布式系统基础架构,适用于静态数据的批处理计算。静态数据指在处理时已收集完成,在计算时不会发生改变的数据,一般采用批处理方式。 4.分布式文件系统(简称HDFS)主要功能是将大规模海量数据以文件的形式,用多个副本保存在不同的存储节点中,并用分布式系统进行管理。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。云盘、网盘的底层一般采用HDFS实现。 5.分布式的列式数据库(HBase)采用基于列的存储形式,建立在HDFS提供的底层存储基础上,主要用来存储非结构化数据和半结构化数据,具有良好的横向扩展能力,可管理PB级的大数据。 6.流数据是指不间断地、持续地到达的实时数据,随着时间的流逝,流数据的价值也随着降低。 7.实时处理系统处理大量的流数据,处理流数据的计算平台有Storm、Heron、IBM InfoSphere、Streams等。 8.Twitter公司的大数据处理系统Summingbird实现了批处理和实时流计算在一个平台架构下的整合(Hadoop+Storm)。 重难点剖析 1.处理大数据的分治思想 分治就是把一个复杂的问题分成两个或更多相同或相似的子问题,找到求这几个子问题的解法后,再找出合适的方法把它们组合成求整个问题的解法。如果这些子问题还难以解决,可以再把它们分成几个更小的子问题,以此类推,直至可以直接求出解为止。 2.三种处理数据的系统及相应的平台 (1)批处理计算 Hadoop是一个可运行于大规模计算机集群上的分布式系统基础架构,适用于静态数据的批处理计算。Spark属于较广的开源分布式计算架构,Spark启用了内存存储中间结果,运行速度比Hadoop快很多。 (2)实时处理系统 实时处理系统主要用于处理流数据,比如大型购物网站的广告推荐、社交网络的个性化推荐等,流数据的计算平台有Storm、Heron、IBM InfoSphere、Stream等等。 (3)图计算 图数据的特点是节点之间的关系错综复杂,且节点之间可能有多条回路。目前通用的图处理软件主要包括两类:一类是图数据库,如Neo4j、InfiniteGraph、OrientDB等;另一类是并行图处理系统,如Google Pregel、Apache Giraph、卡内基梅隆大学的GraphLab、运行于Spark平台的GraphX等。 (4)实时处理与批处理的整合 开发者在同一个平台既可以做批处理,也可以做实时流计算,还可以进行两种模式的混合使用。平台的整合降低了批处理与流处理之间的切换,有利于减少系统的开销,降低使用成本。 例1 n个志愿来自10个不同的城市,每个城市按每个志愿参加志愿活动降序排列。小明把n个志愿按城市分成10个集合,在每个集合进行排序,该算法主要采用的思想是 ( ) A.顺序查找法 B.枚举法 C.分治算法 D.解析法 答案 C 解析 把一个大问题,分成若干个小问题,称为分治算法。 变式训练1 把n个数据按序排序,若要查找一个数是否在这些数据中,把这些数分成前后两部分,与中间的数据进行对比,如果该数据在前半部分,则继续按前面的思想进行分别查找,该算法主要采用的思想是 ( ) A.顺序查找法 B.枚举法 C.分治算法 D.解析法 答案 C 解析 采用同样的方法,在不同的区域中进行查找,属于分治的算法思想。 例2 通过下列方式获取数据,数据类型属于静态数据的是 ( ) A.各个监控不断向监控中心发送的数据 B.同一时间内收到10万移动设备的位置信息 C.服务器的近10天内的IP访问数据日志 D.大型购物网站的广告推荐 答案 C 解析 静态数据和流数据的区别在于数据是以前就有的,还是即时产生的数据。 ... ...
~~ 您好,已阅读到文档的结尾了 ~~