Spark 译为火花
Spark定义
Spark是采用Scala语言编写的一个通用的大规模数据快速处理分析引擎,是基于内存计算的大数据并行计算框架,Spark在性能和方案的统一性都具有显著的优势,它可以提高数据处理的速度,也可保证了高容错性和高可伸缩性。
Spark包含SparkCore、SparkSQL、Spark Streaming、MLlib、Graph可以解决大数据中的Batch Processing、Stream Processing、Ad-hocQuery等三大核心问题。
Spark特点
可以无缝集成Hadoop,Spark可以运行在YARN上,可以读取Hadoop的HDFS,HBase等一切Hadoop的数据
Spark可以不依赖于第三方的资源管理和调度器,它实现了Standalone作为其内置的资源管理和调度框架
快速基于内存计算速度是MR的100倍,基于磁盘计算的速度是MR的10倍
Spark采用DAG(有向无环图)执行引擎。
提供java,python和Scala的API,能快速实现应用,相比MR有简洁的代码。
提供一个强大的技术栈,包括查询语言SparkSQL、实时流处理工具Spark Streaming、机器学习工具MLlib、图计算工具GraphX, Spark的目的在于构建一个结构上一体化功能上多元化的高效数据流水线技术栈。已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击
建立在统一抽象的RDD(分布式内存抽象)之上。
Spark HA高可用
Spark Standalone集群是Master/Slaves架构的集群,是存在master单点故障问题
它可以利用zookeeper的来实现高可用
Spark的重点概念
Application是spark的应用程序,包含driver程序和集群上的executor。它是在Worker上执行的。
Driver Program的作用是运行main函数并且创建sc(SparkContext)的程序。
Worker Node节点是运行Application代码的节点,在Standalone模式中指Worker节点,在Yarn模式下NoteManager节点。
Executor是在Worker Node上启动应用的进程,负责运行任务和将数据存在内存或者磁盘上。每个应用对应一个独立的executor。
Task :executor上的工作单元。
Cluter Manager有三种模式
Standalon资源管理,由master负责资源的分配
Apache Mesos与MR兼容性良好的一种资源调度框架
Hadoop Yarn的ResourceManager
喜欢就关注小编,小编天天写,你也可以进步一点点
网友评论