- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入spark
深入Spark目录Spark简介Spark总体流程核心模块的实现Spark应用库Spark与Hadoop的区别与联系Spark应用什么是Sparka MapReduce-like cluster computing framework designed for low-latency iterative jobs and interactive use from an interpreter大数据的电花火石Spark是UC Berkeley AMPLab开发的是一种计算框架,分布式资源工作交由集群管理软件(Mesos、YARN) Apache Spark?is a fast and general engine for large-scale data processingSpark的发展历程2009:Spark诞生于伯克利大学 AMPLab2010:开源2013.6:Apache孵化器项目2014.2:Apache顶级项目目前为止,发布的最新版本为Spark1.4.1 Spark在最近6年内发展迅速,相较于其他大数据平台或框架而言,Spark的代码库最为活跃。截止2015年6月Spark的Contributor比2014年涨了3倍,达到730人;总代码行数也比2014年涨了2倍多,达到40万行Spark应用也越来越广泛,最大的集群来自腾讯——8000个节点,单个Job最大分别是阿里巴巴和Databricks——1PBSpark代码贡献者每个月的增长曲线//Spark特点Spark采用Scala语言编写,底层采用了actor model的akka作为通讯框架,代码十分简洁高效。基于DAG图的执行引擎,减少多次计算之间中间结果写到Hdfs的开销。建立在统一抽象的RDD(分布式内存抽象)之上,使得它可以以基本一致的方式应对不同的大数据处理场景。先进架构高效提供Cache机制来支持需要反复迭代的计算或者多次数据共享,减少数据读取的IO开销。与Hadoop的MapReduce相比,Spark基于内存的运算比MR要快100倍;而基于硬盘的运算也要快10倍!易用Spark提供广泛的数据集操作类型(20+种),不像Hadoop只提供了Map和Reduce两种操作。Spark支持Java,Python和Scala API,支持交互式的Python和Scala的shell。Logistic regression in Hadoop and Spark以其RDD模型的强大表现能力,逐渐形成了一套自己的生态圈,提供了full-stack的解决方案。主要包括Spark内存中批处理,Spark SQL交互式查询,Spark Streaming流式计算, GraphX和MLlib提供的常用图计算和机器学习算法。提供整体解决方案与Hadoop无缝衔接Spark可以使用YARN作为它的集群管理器读取HDFS,HBase等一切Hadoop的数据One Stack to rule them allSpark整体架构Spark SQLSpark StreamingMLlib(machine learning)GraphX (graph)工具层计算层SparkHbase…TachyonCassandraS3YARNMesosStandaloneHDFS存储层资源调度层Spark提供了多种高级工具: Shark SQL应用于即席查询(Ad-hoc query)、Spark Streaming应用于流式计算、 MLlib应用于机器学习、GraphX应用于图处理。Spark可以基于自带的standalone集群管理器独立运行,也可以部署在Apache Mesos 和 Hadoop YARN 等集群管理器上运行。Spark可以访问存储在HDFS、 Hbase、Cassandra、Amazon S3、本地文件系统等等上的数据,Spark支持文本文件,序列文件,以及任何Hadoop的InputFormat。目录Spark简介Spark总体流程核心模块的实现Spark应用库Spark与Hadoop的区别与联系Spark应用Spark核心概念Spark任务提供多层分解的概念,Spark组件将用户的应用程序分解为内部执行任务并提供执行容器,资源管理为spark组件提供资源管理和调度。Spark任务应用程序:由一个driver program和多个job构成; job:由多个stage组成; stage:对应一个taskset,taskset:对应一组关联的相互之间没有shuffle依赖关系的task组成。task:任务最小的工作单元Spark组件Driver Program (驱动程序) 是Spark 的核心组件构建SparkContext(Spark应用的入口,它负责和整个集
原创力文档


文档评论(0)