|
本帖最后由 george_luo01 于 2014-12-15 15:37 编辑
1.Spark为啥这么火?Spark框架采用的编程语言是什么?是否容易上手?
Spark极大的优化和简化了Mapreduce框架,使分布式云计算细粒度深入到数据的各个环节,通过RDD模型对并行数据
处理这个高难度技术堆栈进行了全方位的创新,就象多年前Delphi对可视化和面向对象的开发进行的推动一样,
spark的RDD计算模型是革命性的将会引领潮流,如果再能能够发展到象kettle那样提供可视的界面组件并行云计算功能就
更完美,RDD计算模型只需要用参数或简单标识符,就可以高效利用云计算资源,支持多种并行和迭代计算模式,
非常适合各种大数据挖掘算法,能充分利用内存,使数据处理效率提升的1-2个数量级,同时能和Hadoop体系的HDFS、
Yarn等基础框架兼容,Spark框架采用的是Scala语言,Scala语言集面向对象和函数式优点,Scala非常简洁,函数式编程
能够非常高效的在已有的处理处理模型上增加或调整各种业务逻辑,对于大数据时代这种处理需求全动态,数据类型
变化多样的业务模式提供了强有力的技术支撑,Scala入门还是需要有些概念转换,如:隐式转换、语法糖果等,但理解了
这些新概念,上手就比较容易。
2. Spark能否成为Hadoop的替代者呢?为什么?它们有哪些相似点与区别?
Spark目前还只能比较好对Hadoop的Mapreduce框架进行比较好的替代,Hadoop其他组件特别是HDFS、HBASE、Yarn还是作为
基础组件对云计算的存储和资源管理提供了底层的框架,一些组件如SparkSQl和Hive类似,Spark需重点发展计算能力,能够提供比较多可视化
数据处理和挖掘工具,不存在互相替代的,大家各自发挥优点,使大数据整个生态链更完善。
3.作为一种内存的迭代计算框架,Spark使用哪些场景?
主要用在并行数据处理和迭代,以及一些机器学习方面如:K-Means等,特别更高效提升在处理过程中,
需要在多次频繁用到查询和搜索功能的场景,如果这些场景不利用内存,效率会低几个数量级,用简单加节点
并行计算是根本无法解决的。
4.淘宝为什么会选择Spark计算框架呢?
淘宝选择Spark是基于自身高并发大数据的业务场景,淘宝有大量机器集群要管理,Spark的函数式编程模式比OO方式进行
机器学习方面的运算要高效得多,所以淘宝用Spark On Yarn作为计算框架。
5.Mesos 是一个能够让多个分布式应用和框架运行在同一集群上的集群管理平台。那么它是如何来调度和运行Spark的呢?
Mesos是spark官方推荐的集群管理方式,提供了2种管理调度模式:
(1)粗粒度模式
每个应用程序的运行环境由一个Dirver和若干个Executor组成,其中,每个Executor占用若干资源,
内部可运行多个Task(对应多少个“slot”)。应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好,
且运行过程中要一直占用这些资源,即使不用,最后程序运行结束后,回收这些资源。
(2)细粒度模式
鉴于粗粒度模式会造成大量资源浪费,Spark On YARN还提供了另外一种调度模式:细粒度模式,
这种模式类似于现在的云计算,思想是按需分配。与粗粒度模式一样,应用程序启动时,先会启动executor,
但每个executor占用资源仅仅是自己运行所需的资源,不需要考虑将来要运行的任务,之后,
mesos会为每个executor动态分配资源,每分配一些,便可以运行一个新任务,单个Task运行完之后可以马上
释放对应的资源。
6.Spark 为什么会选择弹性分布式数据集(RDD)作为它的数据存储核心?而不是分布式共享内存(Distributed Shared Memory)DSM?它们有哪些区别?
RDD是对分布式共享内存更高层次的封装和抽象,而不仅仅只是在不同机器直接进行内存数据的交换和共享,内存分配
根据资源等相关情况,进行弹性分配,而不是在一开始就在某个机器的内存中固定分配,这样提高了资源的利用效率。
7.Spark on YARN与Spark有啥区别?
Spark on YARN能够实现对资源的标准化和高效管理,同时也更好和其它大数据计算框架(MapReduce等)在同一集群进行
统一管理和调度,极大提高资源的利用率,也能实现多个大型云计算框架的共同运行,如果只是单一Spark架构或机器数量
不是特别多的情况直接用Spark就可以。
8.有人觉得,大数据时代,最精髓的IT技术是Hadoop ,Yarn,Spark,您是否体验过?看好哪个?
应该是各司其职吧,当然引擎和发动机还是Spark,Hadoop提供底层的存储,是大数据时代数据存储和实体化访问的计算
标准模式,Yarn能够从高层上保证资源的高效利用和框架的兼容和开发性。
|
|