📜  Apache Spark简介

📅  最后修改于: 2020-12-03 09:08:30             🧑  作者: Mango

什么是星火?

Apache Spark是一个开放源代码群集计算框架。其主要目的是处理实时生成的数据。

Spark建立在Hadoop MapReduce的顶部。它经过优化可在内存中运行,而诸如Hadoop的MapReduce之类的替代方法则可以在计算机硬盘之间来回写入数据。因此,Spark处理数据的速度比其他方法快得多。

Apache Spark的历史

Spark由2009年在加州大学伯克利分校AMPLab的Matei Zaharia发起。它于2010年在BSD许可下开源。

2013年,该项目被Apache Software Foundation收购。 2014年,Spark成为Apache顶级项目。

Apache Spark的功能

  • 快速-使用最新的DAG调度程序,查询优化器和物理执行引擎,可为批处理和流数据提供高性能。
  • 易于使用-它有助于用Java,Scala, Python,R和SQL编写应用程序。它还提供了80多个高级运算符。
  • 通用性-它提供了一个库集合,包括SQL和DataFrames,用于机器学习的MLlib,GraphX和Spark Streaming。
  • 轻量级-这是一个轻量级的统一分析引擎,用于大规模数据处理。
  • 随处运行-它可以轻松地在Hadoop,Apache Mesos,Kubernetes,独立或云中运行。

Spark的用途

  • 数据集成:系统生成的数据不够一致,无法合并以进行分析。为了从系统中获取一致的数据,我们可以使用诸如提取,转换和加载(ETL)之类的过程。 Spark用于减少此ETL过程所需的成本和时间。
  • 流处理:始终很难处理实时生成的数据,例如日志文件。 Spark具有足够的能力来处理数据流,并拒绝潜在的欺诈性操作。
  • 机器学习:由于数据量的增加,机器学习方法变得更加可行和准确。由于spark能够将数据存储在内存中并且可以快速运行重复查询,因此可以轻松地使用机器学习算法。
  • 交互式分析: Spark能够快速生成响应。因此,我们可以以交互方式处理数据,而不是运行预定义的查询。