与Apache Spark有关的基本事项

112 阅读3分钟

什么是Apache Spark -

  • ApacheSpark是一个开源的数据处理引擎,使用简单的编程结构在各种计算机集群中实时存储和处理数据。
  • Spark拥有一致的、可组合的API,并且Spark支持多种语言,如Python、Java、Scala和R。
  • 开发人员和数据专家将Spark纳入他们的应用程序,以快速查询、分析和转换大规模的数据。

Spark架构

Hadoop与Apache Spark

Hadoop火花
1.在Hadoop中使用MapReduce处理数据很慢1.Spark处理数据的速度比MapReduce快100倍,因为它是在内存中完成的。
2.进行数据的批量处理。2.同时进行数据的批处理和实时处理。
3.MapReduce,开发人员需要手工编码每一个操作,这使得它的工作非常困难。3.S park很容易编程,因为它有大量的高级运算符与RDD - 弹性分布式数据集。
4.4.Hadoop是一个更便宜的选择,而在成本方面的比较。4.Spark需要大量的RAM在内存中运行,因此增加了集群,从而增加了成本。

Spark的特点--

  • 快速处理 Spark包含弹性分布式数据集(RDD),节省了读写操作的时间,因此,它的运行速度几乎是Hadoop的10-100倍。

  • 内存计算在Spark中,数据被存储在RAM中,因此它可以快速访问数据并加快分析速度。

  • 灵活Spark支持多种语言,允许开发者用Java、Scala、R或Python编写应用程序。

  • 容错性 Spark包含弹性分布式数据集(RDD),旨在处理集群中任何工作节点的故障。因此,它确保数据的损失减少到零。

  • 更好的分析Spark有一套丰富的SQL查询、机器学习算法、复杂的分析等。通过所有这些功能,可以更好地进行分析。

星火的组成部分

Spark核心

Spark核心是大规模并行和分布式数据处理的基础引擎

  • 内存管理
  • 故障恢复
  • 在集群上调度、分配和监控作业
  • 与存储系统进行交互

RDD(Resilient Distributed Dataset)

Spark核心嵌入了RDDs,它是一个不可变的容错对象的分布式集合,可以被并行操作。RDD执行两种操作。

Spark SQL-

Spark SQL框架组件用于结构化和半结构化数据处理。它提供了一个名为DataFrames的编程抽象,也可以作为一个分布式SQL查询引擎。

Spark Streaming

Spark Streaming是一个轻量级的API,允许开发者轻松地进行批量处理和实时数据流。它提供安全、可靠和快速的实时数据流处理。

Spark MLlib

MLlib是一个低级别的机器学习,使用简单,可扩展,并与各种编程语言兼容。MLlib简化了可扩展机器学习算法的部署和开发。

GraphX

GraphX是Spark自己的图形计算引擎和数据存储。

总结

在这篇文章中,我们已经了解了与Apache Spark有关的基本内容。我们还了解了Spark的架构,Spark的特点,Spark的组件,以及Hadoop框架和Apache Spark之间的区别。