1、Spark知识分享1学习交流PPTl Spark 简介l Spark SQL 简介l Spark Streaming 简介l Spark应用场景Spark知识分享2学习交流PPTHadoop在2003年从Nutch发展到Lucene,在Yahoo成长,进入Apache孵化,2008年获得大量使用。但一直存在MR算法少算法少、每次每次Reduce都需要磁盘读写都需要磁盘读写、MR需要成对出现需要成对出现、Master节点调度慢节点调度慢、单节点单节点等等问题。Spark2007年在Yahoo起步,用于改善MR算法。2009年独立为一个项目,2010年开源,2013年进入Apache孵化。被称为以
2、下一代计算平台。Berkeley大学成为大数据技术中心,Berkeley Data Analysis Stack(BDAS)逐步形成大数据平台。大数据架构的演进3学习交流PPTSpark堆栈 4学习交流PPT从实例开始, 漫游Spark内核lines = spark.textFile(“hdfs:/.”)errors = lines.filter(_.startsWith(“ERROR”)messages = errors.map(_.split(t)(2)cachedMsgs = messages.cache()Block 1Block 2Block 3WorkerWorkerWorkerD
3、rivercachedMsgs.filter(_.contains(“foo”).countcachedMsgs.filter(_.contains(“bar”).count. . .tasksresultsCache 1Cache 2Cache 3Base RDDTransformed RDDActionResult: full-text search of Wikipedia in getTags(status)flatMapflatMapflatMaptransformation: modify data in one DStream to create another DStream
4、new DStreamnew RDDs created for every batch batch t+1batch tbatch t+2tweets DStreamhashTags Dstream#cat, #dog, 18学习交流PPT离散的流处理1、不同于一般流处理软件,Spark Streaming采用一系列毫秒级的批量处理,实现快速计算。2、将一个需要处理的任务,转化为多个RDD计算,运行在Spark上。val tweets = ssc.twitterStream()val hashTags = tweets.flatMap (status = getTags(status)hash
5、Tags.saveAsHadoopFiles(hdfs:/.)output operation: to push data to external storageflatMapflatMapflatMapsavesavesavebatch t+1batch tbatch t+2tweets DStreamhashTags DStreamevery batch saved to HDFS19学习交流PPT离散的流处理1、不同于一般流处理软件,Spark Streaming采用一系列毫秒级的批量处理,实现快速计算。2、将一个需要处理的任务,转化为多个RDD计算,运行在Spark上。val twee
6、ts = ssc.twitterStream()val hashTags = tweets.flatMap (status = getTags(status)hashTags.foreach(hashTagRDD = . )foreach: do whatever you want with the processed dataflatMapflatMapflatMapforeachforeachforeachbatch t+1batch tbatch t+2tweets DStreamhashTags DStreamWrite to database, update analytics UI
7、, do whatever you want20学习交流PPTl Spark 简介l Spark SQL 简介l Spark Streaming 简介l Spark应用场景Spark知识分享21学习交流PPT场景1、架构简化 混合式到单一架构将Hadoop+Storm的架构,简化为Spark架构。实现一键式安装和配置,线程级别的任务监控和告警,降低硬件集群、软件维护、任务监控和应用开发的难度。后续要做成统一的硬件、计算平台资源池,发展到云计算。Spark架构Lambda架构22学习交流PPT混搭架构ETL/数据接口层EDWMPP透明访问/应用接口层统一管控混搭架构是当前运营商的自然选择,根据数
8、据的热度和存储成本来分布。通过三者的有效融合融合,以提供最大的计算能力。MPPHDFSYARNHBaseMapReduceSparkStormStreamingHiveImpalaSharkMQ原始数据层 详单/客户资料/工单/订单汇总层 时间地域汇总/客户标签/交往圈营销管理专题/挖掘一经KPI/报表专业集市数据集市Ad-hoc自助查询23学习交流PPTSpark(HDFS2)抽取SOA服务转换装载元数据关联质量任务执行任务调度数据流调度管理监控数据流定义任务流定义自定义函数版本及发布管理ATCA图形化配置Data Process PlatformControl & MonitorBOSSS
9、DPCRMBillingOCSDataSourceDataDestinationEDWApplicationAPI Interface场景2、自主研发ETL 支持批量和实时接口Gb口DPIWlan1、采用Tableau作为图形化配置和管理工具,将ETL过程、原子处理等转化为Spark的Task2、离线批量接口和实时接口采用同样的配置,只有处理的时间间隔属性不同24学习交流PPT场景3、现有业务系统 - 改造和对比改造流量经营系统:用Spark替换MapReduce,迁移“翻译系统”的Java代码。目标:提升性能3-5倍。对比实时营销系统:用Streaming替换storm,采用Scala重新开发。目标:原系统对比业务满足能力和性能。25学习交流PPT场景4、数据挖掘应用 增量式传统数据挖掘、机器学习应用复杂社会、图分析算法26学习交流PPT谢谢!27学习交流PPT