本文概述
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。
- 轻量级-这是一个轻量级的统一分析引擎, 用于大规模数据处理。 Runs Everywhere – It can easily run on Hadoop, Apache Mesos, Kubernetes, standalone, or in the cloud.
Spark的用途
- 数据集成:系统生成的数据不够一致, 无法合并以进行分析。为了从系统中获取一致的数据, 我们可以使用诸如提取, 转换和加载(ETL)之类的过程。 Spark用于减少此ETL过程所需的成本和时间。
- 流处理:始终很难处理实时生成的数据, 例如日志文件。 Spark具有足够的能力来处理数据流, 并拒绝潜在的欺诈性操作。
- 机器学习:由于数据量的增加, 机器学习方法变得更加可行并且越来越准确。由于spark能够将数据存储在内存中并且可以快速运行重复查询, 因此可以轻松地使用机器学习算法。
- 交互式分析:Spark能够快速生成响应。因此, 我们可以以交互方式处理数据, 而不是运行预定义的查询。
评论前必须登录!
注册