Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。
优点:
- Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)的大数据处理的需求
- Spark可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍
使用情景:1 数据量大 2 计算复杂
spark的架构:
spark组件介绍:
- Spark Core:包含Spark的基本功能,尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD(弹性分布式数据集)和Spark Core之上的
- Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。
- Spark Streaming:对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据
- MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。
- GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作
spark与hadoop的关系:
Hadoop包含两个模块:分布式存储模块hdfs和分布式计算模块MapReduce
而spark依赖于hdfs,并提供了比MapReduce更加快速和丰富的功能
原地址:https://blog.csdn.net/swing2008/article/details/60869183