火龙果整理uml.org.cn大数据处理与分析相关平台简介中国人民大学信息学院董兆安火龙果整理uml.org.cn大数据及其主要特征2•规模(Volume)、种类(Variety)、速度(Velocity)–2001年,道格.莱尼(DougLaney)VolumeVolumeVarietyVolume模态多样VelocityVolume速度极快体量巨大文本视频图片音频到2020年,数据总量达40ZB,人均5.2TB分享的内容条目超过25亿个/天,增加数据超过500TB/天火龙果整理uml.org.cn关于大数据定义的误解••Other“V”slikeveracity,validity,value,etc.areaspirationalqualitiesofalldata,notdefinitionalqualitiesofbigdata.3火龙果整理uml.org.cn硬件、技术、数据不断进化4火龙果整理uml.org.cn传统的数据处理ExternalDataSourcesExtractTransformLoadDataWarehouseIntegratedstorageDataprocessingUsersSQL火龙果整理uml.org.cn6数据分析的需求也逐渐提高•从海量数据中快速获取有价值信息•低延迟、高性能、分布式、可扩展、容错。6RTAPOLAPOLTP火龙果整理uml.org.cn需求变化7Real-TimeNon-InteractiveBatchInteractiveOnlinesystemsRealtimeAnalyticsComplexeventprocessingDatapreparationIncrementalbatchprocessingDashboardsOperationalbatchprocessingEnterprisereportsDataminingParameterizedReportsDrilldownVisualizationExploration0--5s5s--1m1m--1h1h+火龙果整理uml.org.cn场景不同-工具不同-视角不同–Hortonworks将应用需求进行了如下划分:•实时应用场景(0~5s):–Storm、S4、ClouderaImpala,ApacheDrill等;•交互式场景(5s~1m):–最好支持SQL,:ClouderaImpala、ApacheDrill、Shark等;•非交互式场景(1m~1h):–MapReduce、Hive、Pig、Stinger等;•批处理场景(1h+)–运行时间较长,处理数据量较大,对容错性和扩展性要求较高–MapReduce、Hive、Pig、Stinger等。8火龙果整理uml.org.cn大数据分析与处理架构——一个案例9IngestLandingandAnalyticsSandboxZoneIndexes,facetsHive/HBaseColStoresDocumentsInVarietyofFormatsAnalyticsMapReduceRepository,WorkbenchIngestionandReal-timeAnalyticZoneDataSinksFilter,TransformIngestCorrelate,ClassifyExtract,AnnotateWarehousingZoneEnterpriseWarehouseDataMartsQueryEnginesCubesDescriptive,PredictiveModelsModelsWidgetsDiscovery,VisualizerSearchAnalyticsandReportingZoneMetadataandGovernanceZone9Connectors火龙果整理uml.org.cn大数据处理与分析技术•数据采集•数据处理•数据存储•统计分析•数据挖掘•模型预测•数据可视化•元数据管理10火龙果整理uml.org.cn数据处理的几种模式•转换Transformer–Convertpayloadormodifyheaders•过滤Filter–Discardmessagesbasedonbooleanevaluation•路由Router–Determinenextchannelbasedoncontent•分割Splitter–Generatemultiplemessagesfromone•聚集Aggregator–Assembleasinglemessagefrommultiple11火龙果整理uml.org.cn几种平台介绍•MPP•Hadoop•storm•spark12火龙果整理uml.org.cn开源的大数据处理平台•SQLonHadoop•Hortonworks:Tez、Stinger•Cloudera:Impala•Facebook:Hive,Presto•Google发布了Dremel和PowerDrill•EMC推出Pivotal+HAWQ•开源数据仓库brighthouse–基于MySQL的数据仓库存储引擎13火龙果整理uml.org.cn开源的大数据处理平台•NO-MapReduce系统–微软的DAG任务计算模型Dryad–Google的图批量同步处理系统Pregel和增量式计算框架Percolator–Yahoo!的数据流计算系统S4、–NYU的共享内存处理系统Piccolo–Berkeley的交互式实时处理系统Spark等等。•NEWSQL系统–VoltDB–mySQL集群14火龙果整理uml.org.cnHadoop的版本1520072008200920102011201220130.14.X0.15.X0.16.X0.17.X0.18.X0.19.X0.20.X0.21.X0.20.2X0.22.X0.23.X1.X2.XSecurityYARNHDFSHA火龙果整理uml.org.cn16火龙果整理uml.org.cnIntelHadoop*17火龙果整理uml.org.cnHadoop1.018火龙果整理uml.org.cnHadoopeco-systemExternalDataSourcesHDFSstoragelayerProcessingFramework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHiveMetastore(HCatalog)OozieClouderaNavigatorMorevarieddatasourceswithmanymoreaccess/retentionrequirementsUsers火龙果整理uml.org.cn20Hadoopeco-systemExternalDataSourcesHDFSstoragelayerProcessingFramework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHiveMetastore(HCatalog)OozieClouderaNavigatorDataaccessedthroughmultipleentrypointsUsers火龙果整理uml.org.cn21Hadoopeco-systemExternalDataSourcesHDFSstoragelayerProcessingFramework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHiveMetastore(HCatalog)OozieClouderaNavigatorUsersLotsofnewconsumersofthedata火龙果整理uml.org.cn22Hadoopeco-systemExternalDataSourcesHDFSstoragelayerProcessingFramework(Map-Reduce)HBaseSqoop+FlumePigHiveQLMahoutHiveMetastore(HCatalog)OozieClouderaNavigatorUsersOneaccesscontrolmechanism:files火龙果整理uml.org.cn23Hadoop1.0——HDFS存储模型23火龙果整理uml.org.cnHadoop1.0——计算模型•MapReduce24火龙果整理uml.org.cn节点功能与角色25火龙果整理uml.org.cn集群部署示意26火龙果整理uml.org.cnYARN和Hadoop2.027火龙果整理uml.org.cn–comprisesthelatestreleaseacrossHadoopandthekeyrelatedprojectsintoasingleintegratedandtestedplatform•Coreservices•Dataservices•Operationalservices28Hadoop2.0火龙果整理uml.org.cnHadoop2.0•YARN的基本思想是将JobTracker的两个主要功能资源管理和作业调度/监控分离–主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)29火龙果整理uml.org.cn对比:Hadoop1.0•JobTracker和TaskTracker30火龙果整理uml.org.cn对比:Hadoop2.031火龙果整理uml.org.cn运行在YARN上的计算框架•YARN=YetAnotherResourceNeogitator.32火龙果整理uml.org.cn内存计算——SparkandShark33•High-SpeedIn-MemoryAnalyticsoverHadoopandHiveDataUCBERKELEY火龙果整理uml.org.cn34MapReduce——数据共享于HDFSiter.1iter.2...InputHDFSreadHDFSwriteHDFSreadHDFSwriteInputquery1query2query3result1result2result3...HDFSreadSlowduetoreplication,serialization,anddiskIO火龙果整理uml.org.cn3535iter.1iter.2...InputSpark——数据共享于内存DistributedmemoryInputquery1query2query3...one-timeprocessing10-100×fasterthannetworkanddisk火龙果整理uml.org.cnSpark之RDD——弹性分布式数据集火龙果整理uml.org.cn37火龙果整理uml.org.cn伯克利架构38火龙果整理uml.org.cn分布式实时计算系统Storm–流数据处理•Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去。•S4(SimpleScalableStreamingSystem)是一个分布式流处理引擎,开发者可以在这个引擎基础上开发面向无界的,不间断的流数据处理应用。–分布式rpc•由于storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式rpc框架来使用。•搜索引擎本身也是一个分布式rpc系统。39火龙果整理uml.org.cnSTORM角色•Nimbus:–负责资源分配和任务调度。•Supervisor:–负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。•Worker:–运行具体处理组件逻辑的进程。•Task:–worker中每一个sp