spark定义:
spark是一个实现快速通用的集群计算平台。通用内存并行计算框架,主要用来构建大型的、低延迟的数据分析应用程序。
spark优点:
使用spark肯定有其特别之处,spark在计算数据的时候与MapReduce相比,spark的计算是基于内存的,并可以依赖内存机型复杂的计算,这在计算的速度上有大的提升,相比较MapReduce有很大的性能提升。
spark的特点:
1.高效性:由于spark是基于内存的计算,所以在计算速度上有了很大的提升
2.易用性:spark提供了包括python、java以及scala的api,可以支持多种语言
3.通用性:Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用
4.兼容性:Spark可以非常方便地与其他的开源产品进行融合
spark的重要组件:
SparkCore:将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。
SparkSQL:Spark Sql 是Spark来操作结构化数据的程序包,可以让我使用SQL语句的方式来查询数据,Spark支持 多种数据源,包含Hive表,parquest以及JSON等内容。
SparkStreaming: 是Spark提供的实时数据进行流式计算的组件。
MLib:提供常用机器学习算法的实现库。
GraphX:提供一个分布式图计算框架,能高效进行图计算。
BlinkDB:用于在海量数据上进行交互式SQL的近似查询引擎。
Tachyon:以内存为中心高容错的的分布式文件系统。