定义
分布式批处理系统和分析挖掘引擎。
特性
1、高效性。Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG(无回路有向图)执行引擎,可以通过基于内存来高效处理数据流。
2、易用性。Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。
3、通用性。Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。
4、兼容性。Spark可以非常方便地与其他的开源产品进行融合。
主要组件
∙ SparkCore —— 将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。
∙ SparkSQL —— Spark Sql 是Spark来操作结构化数据的程序包,用户可以使用SQL语句的方式来查询数据,Spark支持多种数据源。<