1、中国人民大学信息学院董兆安内容来自CSDN等互联网资源大数据及其主要特征2 规模(Volume)、种类(Variety)、 速度(Velocity) 2001年,道格.莱尼(Doug Laney)VolumeVolumeVarietyVolume模态多样模态多样VelocityVolume速度极快速度极快体量巨大体量巨大文本文本视频视频图片图片音频音频到到20202020年,数据总量达年,数据总量达40ZB40ZB,人均人均5.2TB5.2TB分享的内容条目超过分享的内容条目超过2525亿个亿个/ /天天,增加数据超过,增加数据超过500TB/500TB/天天关于大数据定义的误解 http:/
2、 Other “V”s like veracity, validity, value, etc. are aspirational qualities of all data, not definitional qualities of big data.3硬件、技术、数据不断进化4传统的数据处理ExternalDataSourcesExtractTransformLoadData WarehouseIntegrated storageData processingUsers数据分析的需求也逐渐提高 从海量数据中快速获取有价值信息从海量数据中快速获取有价值信息 低延迟、高性能、分布式、可扩展、
3、容错。6RTAPOLAPOLTP需求变化7Real-TimeNon-InteractiveInteractiveOnline systemsReal time AnalyticsComplex event processingData preparationIncremental batch processingDashboardsParameterized ReportsDrilldownVisualizationExploration场景不同-工具不同-视角不同 Hortonworks将应用需求进行了如下划分: 实时应用场景(05s): Storm、S4、Cloudera Impala,A
4、pache Drill等; 交互式场景(5s1m): 最好支持SQL,:Cloudera Impala、Apache Drill、Shark等; 非交互式场景(1m1h): MapReduce、Hive、Pig、Stinger等; 批处理场景(1h+) 运行时间较长,处理数据量较大,对容错性和扩展性要求较高 MapReduce、Hive、Pig、Stinger等。8大数据分析与处理架构一个案例9Ingest Landing and Analytics Sandbox ZoneIndexes, facetsHive/HBaseCol StoresDocumentsIn Variety of Fo
5、rmatsAnalyticsMapReduceRepository, WorkbenchIngestion and Real-time Analytic ZoneDataSinksFilter, TransformIngestCorrelate, ClassifyExtract, AnnotateWarehousing ZoneEnterprise WarehouseData MartsQuery EnginesCubesDescriptive,PredictiveModelsModelsWidgetsDiscovery,VisualizerSearchAnalytics and Report
6、ing ZoneMetadata and Governance ZoneConnectors大数据处理与分析技术 数据采集 数据处理 数据存储 统计分析 数据挖掘 模型预测 数据可视化 元数据管理10数据处理的几种模式 转换 Transformer Convert payload or modify headers 过滤 Filter Discard messages based on boolean evaluation 路由 Router Determine next channel based on content 分割 Splitter Generate multiple messag
7、es from one 聚集 Aggregator Assemble a single message from multiple11几种平台介绍 MPP Hadoop storm spark12开源的大数据处理平台 SQL on Hadoop Hortonworks: Tez、Stinger Cloudera: Impala Facebook:Hive,Presto Google发布了Dremel和PowerDrill EMC推出Pivotal+HAWQ 开源数据仓库brighthouse 基于MySQL的数据仓库存储引擎13开源的大数据处理平台 NO-MapReduce系统 微软的DAG任
8、务计算模型Dryad Google的图批量同步处理系统Pregel和增量式计算框架Percolator Yahoo!的数据流计算系统S4、 NYU的共享内存处理系统 Piccolo Berkeley的交互式实时处理系统Spark等等。 NEW SQL 系统 VoltDB mySQL集群14Hadoop的版本15200720072008200820092009201020102012011 120122012201320130. 14. X0. 14. X0. 15. X0. 15. X0. 16. X0. 16. X0. 17. X0. 17. X0. 18. X0. 18. X0. 19.
9、X0. 19. X0. 20. X0. 20. X0. 21. X0. 21. X0. 20. 2X0. 20. 2X0. 22. X0. 22. X0. 23. X0. 23. X1. X1. X2. X2. XSeSec cu ur ri i tytyYAYA R R N NH H D D F FS S H H A A16Intel Hadoop *17Hadoop1.018Hadoop eco-systemExternalDataSourcesHDFS storage layerProcessing Framework(Map-Reduce)HBaseSqoop+FlumePigHive
10、QLMahoutHive Metastore(HCatalog)OozieClouderaNavigatorMore varied data sources with many more access / retention requirementsUsersHadoop eco-systemExternalDataSourcesHDFS storage layerProcessing Framework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHive Metastore(HCatalog)OozieClouderaNavigatorData ac
11、cessed through multiple entry pointsUsersHadoop eco-systemExternalDataSourcesHDFS storage layerProcessing Framework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHive Metastore(HCatalog)OozieClouderaNavigatorUsersLots of new consumers of the dataHadoop eco-systemExternalDataSourcesHDFS storage layerProc
12、essing Framework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHive Metastore(HCatalog)OozieClouderaNavigatorUsersOne access control mechanism: filesHadoop 1.0HDFS存储模型23Hadoop 1.0计算模型 MapReduce24节点功能与角色25集群部署示意26YARN 和Hadoop 2.027 comprises the latest release across Hadoop and the key related projects i
13、nto a single integrated and tested platform Core services Data services Operational services28Hadoop 2.0Hadoop 2.0 YARN的基本思想是将JobTracker的两个主要功能资源管理和作业调度/监控分离 主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)29对比:Hadoop 1.0 JobTracker 和 TaskTracker30对比:Hadoop 2.031运行在YARN上的计算框架 YARN = Y
14、et Another Resource Neogitator.32内存计算Spark and Shark33 High-Speed In-Memory Analyticsover Hadoop and Hive DataUC BERKELEY34MapReduce数据共享于HDFSiter. 1iter. 2. . .InputHDFSreadHDFSwriteHDFSreadHDFSwriteInputquery 1query 2query 3result 1result 2result 3. . .HDFSreadSlow due to replication, serialization
15、, and disk IO35iter. 1iter. 2. . .InputSpark数据共享于内存DistributedmemoryInputquery 1query 2query 3. . .one-timeprocessing10-100 faster than network and diskSpark之RDD弹性分布式数据集37伯克利架构38分布式实时计算系统Storm 流数据处理 Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去。 S4(Simple Scalable Streaming System)是一个分布式流处理引擎,开发者可以在这个引擎基础上
16、开发面向无界的,不间断的流数据处理应用。 分布式rpc 由于storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式rpc框架来使用。 搜索引擎本身也是一个分布式rpc系统。39STORM 角色 Nimbus: 负责资源分配和任务调度。 Supervisor: 负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。 Worker: 运行具体处理组件逻辑的进程。 Task: worker中每一个spout/bolt的线程称为一个task. 40基本逻辑概念Spout:在一个topology中产生源数据流的组件。Spout是一个主动的角色,其接口中有个ne
17、xtTuple()函数,storm框架会不停地调用此函数,用户只要在其中生成源数据即可。Bolt:在一个topology中接受数据然后执行处理的组件。Bolt可以执行过滤、函数操作、合并、写数据库等任何操作。Bolt是一个被 动的角色,Tuple:一次消息传递的基本单元。Stream:源源不断传递的tuple就组成了stream。Topology:storm中运行的一个实时应用程序,因为各个组件间的消息流动形成逻辑上的一个拓扑结构。41大数据处理平台MPP42 应用程序通过应用程序通过Master主主机访问数据机访问数据 在存储节点和在存储节点和Master主机之间主机之间交换数据交换数据 每
18、一个存储节每一个存储节点都是独立点都是独立的的PgSQL数数据库据库(无共享)(无共享)Query PlanMPP=Massive Parallel Processing 海量并行处理结构海量并行处理结构 数据分发43Share-Nothing的完全并行架构44共享磁盘例如:Oracle RACDBSAN/共享磁盘DBDBDB网络SAN/FC完全共享例如:SMP服务器DB磁盘完全不共享例如:GreenplumDBDBDBDB网络磁盘磁盘磁盘磁盘Master注:所有的共享资源都用蓝灰色表示基于外部表的高速数据加载l 利用并行数据流引擎,Greenplum可以直接用SQL操作外部表l 数据加载完全
19、并行,加载速度可达4.5TB/小时45Master主机Segment主机主机内部互联网千兆以太网交换机gdfdistgdfdistSegment主机主机Segment主机主机Segment主机主机外部表文件外部表文件ETL服务器内部网络MapReduceMapReduce & SQL & SQL一体环境一体环境46传统传统RDBMS系统系统ACID交易管理器ACID交易管理器查询优化器ACID交易管理器关系型表关系型表SQL关系型表数据库日志数据流引擎reduce map 化简映射reduce map 数据流引擎数据流引擎map ACID交易管理器ACID交易管理器查询优化器ACID交易管理器关系型表关系型表SQL关系型表数据库日志数据流引擎查询优化器关系型表查询优化器数据库日志化简映射化简map reduce ACID交易管理器ACID交易管理器ACID交易管理器关系型表关系型表关系型表数据库日志数据流引擎关系型表数据库日志传统的编程环境传统的编程环境Greenplum机制机制Pivotal HD+hawq47Phd集群48