Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley所开发的类Hadoop MapReduce的通用并行框架,拥有Hadoop MapReduce所有优点,区别在于Job中间输出可保存在内存中,无需再读写HDFS,所以比Hadoop更加快速。
Spark是一个大数据计算平台,在这个平台上,有我们大家熟悉的SQL式操作组件Spark SQL;功能强大、性能优良的机器学习库Spark MLlib;还有图像处理的Spark Graphx及用于流式处理的Spark Streaming等,具体有以下优势:
完整的大数据生态系统:我们大家熟悉的SQL式操作组件Spark SQL,还有功能强大、性能优良的机器学习库Spark MLlib、图像计算的SparkGraphx及用于流式处理的SparkStreaming等。
高性能的大数据计算平台:因为数据被加载到集群主机的分布式内存中。数据可以被快速的转换迭代,并缓存后续的频繁访问需求。基于内存运算,Spark可以比Hadoop快100倍,在磁盘中运算也比hadoop快10倍左右。
与Hadoop、Hive、HBase等无缝连接:Spark可以直接访问Hadoop、Hive、Hbase等的数据,同时也可使用Hadoop的资源管理器。
4.易用、通用、好用:Spark编程非常高效、简洁,支持多种语言的API,如Scala、Java、Python、R、SQL等,同时提供类似于shell的交互式开发环境REPL。
下面是Apache Spark生态系统结构: