简析Spark的发展历程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

简析spark----高效的分布式计算架构Lifeisshort,youneedspark!Spark简介与体系架构Spark的安装与配置Spark的开发与应用Lifeisshort,youneedspark!Spark简介与体系架构Spark的安装与配置Spark的开发与应用Lifeisshort,youneedspark!Spark是一个高速,通用大数据计算处理引擎。的官方定义官方网址的发展历史2009诞生于伯克利大学2010正式开源2013成为Apache基金项目2016发布2.0版本Spark发展中的学术贡献“DiscretizedStreams:Fault-TolerantStreamingComputationatScale”.MateiZaharia,TathagataDas,HaoyuanLi,TimothyHunter,ScottShenker,IonStoica.SOSP2013.November2013.“Shark:SQLandRichAnalyticsatScale”.ReynoldXin,JoshuaRosen,MateiZaharia,MichaelJ.Franklin,ScottShenker,IonStoica.SIGMOD2013.June2013.“DiscretizedStreams:AnEfficientandFault-TolerantModelforStreamProcessingonLargeClusters”.MateiZaharia,TathagataDas,HaoyuanLi,ScottShenker,IonStoica.HotCloud2012.June2012.“Shark:FastDataAnalysisUsingCoarse-grainedDistributedMemory(demo)”.CliffEngle,AntonioLupher,ReynoldXin,MateiZaharia,HaoyuanLi,ScottShenker,IonStoica.SIGMOD2012.May2012.BestDemoAward.“ResilientDistributedDatasets:AFault-TolerantAbstractionforIn-MemoryClusterComputing”.MateiZaharia,MosharafChowdhury,TathagataDas,AnkurDave,JustinMa,MurphyMcCauley,MichaelJ.Franklin,ScottShenker,IonStoica.NSDI2012.April2012.BestPaperAwardandHonorableMentionforCommunityAward.“Spark:ClusterComputingwithWorkingSets”.MateiZaharia,MosharafChowdhury,MichaelJ.Franklin,ScottShenker,IonStoica.HotCloud2010.June2010.Spark发展中的学术贡献Spark主要奠基者现在Spark是在其博士论文的基础上发展而来的“AnArchitectureforFastandGeneralDataProcessingonLargeClusters”《大型集群上的快速和通用数据处理架构》Spark的版本发展在开源社区的贡献下Spark版本更新速度很快,平均1-2个月就推出一个新版本Spark的体系架构被称为Sparkcore,是其最核心的部分,包含了Spark最基本、最核心的功能和基本分布式算子。Sparkcore的基本功能有任务调度、内存管理、故障恢复以及和存储系统的交互。Spark的体系架构数据全集被分割为多个数据子集SparkcoreRDD(resilientdistributeddataset)是Spark的核心概念,指的是一个只读的,可分区的分布式数据集(分布式弹性数据集),这个数据集的全部或部分可以缓存在内存中,在多次计算间重用。Spark的核心思路就是将数据集缓存在内存中加快读取速度,同时用RDD以较小的性能代价保证数据的鲁棒性RDDRDD都是可序列化的,在内存不足时可自动降级为磁盘存储计算的中间结果会被保存,出错后可以方便地重新调度Spark的体系架构SparkSQL用于分布式结构化数据的SQL查询与分析,在编写程序中,可以直接使用SQL语句Spark的体系架构SparkStreaming是用于处理流数据的分布式流处理框架,它将数据流以时间片为单位进行分割形成RDD,能够以较小的时间间隔对流数据进行处理,从严格意义上说是一个准实时处理系统。Spark的体系架构Mllib是一个分布式机器学习库,在Spark平台上对一些常用的机器学习算法进行了分布式实现,现在都包括:分类、回归、聚类、决策树等等。Spark的体系架构GraphX是一个分布式图处理框架,在Spark上实现了大规模图计算的功能,提供了对图计算和图挖掘的各种接口。使用场景时间跨度同类框架使用Spark复杂的批量数据处理小时级MapReduce(Hive)Spark基于历史数据的交互式查询分钟级,秒级ImpalaSparkSQL基于实时数据流的数据处理秒级StormSparkStreaming基于历史数据的数据挖掘-MahoutSparkMLlib基于增量数据的机器学习--SparkStreaming+MLlibSpark的体系架构在特定的使用场景下,Spark提供的解决方案不一定是最优,比如在实时数据流处理中,相比于SparkStreaming,Storm的实时性更强、时间切片更小,但Spark模块间的数据可以无缝结合,因此Spark生态体系可以为大数据的处理、分析提供一站式解决方案。Spark简介与体系架构Spark的安装与配置Spark的开发与应用Lifeisshort,youneedspark!Spark的安装与配置Spark支持在多种操作系统上安装和使用,包括Windows、Linux、Ubuntu以及苹果的MacOS等等。目前使用最广泛的是Linux和Ubuntu。原因是其安装配置方便。Spark的安装与配置将Spark部署一台单机系统中,需要安装的软件为-Ubuntu-jdk-Hadoop-2.4.0此为稳定版本-Scala编译spark的语言环境-spark-bin-hadoop2.4Spark的开源代码-Spark开发环境以及IDESpark的安装与配置1、安装JDK,配置Java运行环境测试jdk是否安装成功:Spark的安装与配置2、安装Hadoop,配置环境变量测试hdfs是否配置成功:Spark的安装与配置2、安装Hadoop,配置环境变量测试hdfs是否配置成功:Spark的安装与配置3、安装Scala,配置相应环境变量测试Scala安装是否成功:Spark的安装与配置4、安装Spark,配置环境变量测试Spark是否安装成功:Spark的安装与配置4、安装Spark,配置环境变量测试Spark是否安装成功:Spark简介与体系架构Spark的安装与配置Spark的开发与应用Lifeisshort,youneedspark!Spark的开发与应用可以使用多种编程语言编写Spark应用,包括Java、Scala、Python和R。其中Scala是Spark框架的开发语言,所以使用Scala语言可以和Spark的源代码进行更好的无缝结合,更方便调用其相关功能。Spark的开发与应用使用Spark编写机器学习算法的实例线性回归预测问题使用Python语言的代码如下:Spark的开发与应用使用Spark编写机器学习算法的实例线性回归预测问题使用Scala语言的代码如下:Spark的开发与应用使用Spark编写机器学习算法的实例线性回归预测问题使用Java语言的代码如下:鉴于本人能力有限,如有不足之处,请见谅

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功