大数据——粗谈Apache Spark(计算引擎)

 

Spark产生的原因:

1、MapReduce具有很多的局限性,仅支持Map和Reduce两种操作,还有迭代效率比较低,不适合交互式的处理,不擅长流式处理。

2、现有的各种计算框架各自为战。

Spark就是在一个统一的框架下能够进行批处理,流式计算和交互式计算。

Spark的核心概念就是RDD(弹性分布式数据集)分布在集群中的对象集合,存储在磁盘或内存中。通过并行“转换”操作构造,失效后自动重构。

RDD的两种操作:1、转换:通过Scala集合或者Hadoop构造心得RDD或者通过已有的RDD产生新的RDD

2、行动:通过计算得到一个或一组值

工具:

1、Shark:以Spark为计算引擎的交互式查询引擎,重用了Hive的HQL解析、词法解析、语法解析等模块,与Hive完全兼容,但效率有高于Hive.

2、Graphx:基于Spark图计算的框架,提供图存储结构和图算法。

3、MLBase:基于Spark机器学习库,与Mahout类似,但是是基于Spark实现的,而不是MapRedece,能够实现聚类、分类、推荐等算法、但算法没有Mahout多。

4、Spark Streaming:基于Spark的流式计算框架,充分利用了Spark计算快的优点,吞吐率和效率都高于Storm

Spark最常见的两种应用场景:

1、离线场景:以时间为维度,几年的数据集等,去进行处理。

2、实时场景:实时传输的数据、硬件信号、图像数据并进行计算处理

posted @ 2019-10-24 20:56  Xa_L  阅读(122)  评论(0编辑  收藏  举报