当前位置: 首页 > 教程 > Spark >

Spark简介

精华
小牛编辑
97浏览
2023-03-14

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

Spark建立在Hadoop MapReduce的顶部。它被优化为在内存中运行,而Hadoop的MapReduce等替代方法将数据写入计算机硬盘驱动器或从计算机硬盘驱动器写入数据。因此,Spark比其他替代方案更快地处理数据。

Apache Spark历史

Spark由Matei Zaharia于2009年在加州大学伯克利分校的AMPLab发起。它于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能够快速生成响应。因此,可以交互式地处理数据,而不是运行预定义的查询。