目录

什么是 Apache Spark

Apache Spark 是一个用于进行大规模数据处理的统一分析引擎,内置了 SQL、流式传输、机器学习和图处理模块。Spark 可以在云中针对不同的数据源在 Apache Hadoop、Apache Mesos、Kubernetes 上运行,也可以独立运行。

一、什么是 Apache Spark

Apache Spark 是一个用于进行大规模数据处理的统一分析引擎,内置了 SQL、流式传输、机器学习和图处理模块。Spark 可以在云中针对不同的数据源在 Apache Hadoop、Apache Mesos、Kubernetes 上运行,也可以独立运行。

一个常见问题是,何时使用 Apache Spark,何时使用 Apache Hadoop?两者都是目前市场上最杰出的分布式系统,也是功能类似的 Apache 顶级项目,经常一起使用。Hadoop 采用 MapReduce 范式,主要用于大量磁盘操作。Spark 是一种更灵活、通常费用更高的内存中处理架构。了解每一种产品的特性有助于您决定何时使用何种产品。

二、Apache Spark的关键组件

1、Spark Core

Spark Core是一个通用的分布式数据处理引擎。在其上有 SQL、流式处理、机器学习和图计算的库,所有这些库都可以在应用中一起使用。Spark Core 是整个项目的基础,提供分布式任务调度、安排和基本的 I/O 功能。

2、Spark SQL

Spark SQL 是用于处理结构化数据的 Spark 模块,它支持访问各种数据源的通用方法。它支持您使用 SQL 或熟悉的 DataFrame API 在 Spark 程序中查询结构化数据。Spark SQL 支持 HiveQL 语法,并允许访问现有的 Apache Hive 仓库。服务器模式通过 Java 数据库连接或开放数据库连接提供标准连接。

3、Spark Streaming

Spark Streaming支持轻松构建可扩缩、具有容错性的流式解决方案。它将集成了 Spark 语言的 API 引入流处理中,因此您可以像编写批量作业一样编写流式作业。Spark Streaming 支持 Java、Scala 和 Python,并且具有开箱即用、有状态的“正好一次”语义。

4、MLlib

MLlib 是 Spark 可扩容的机器学习库,它所提供的工具可以简化实际的机器学习并为其扩容。MLlib 包含许多常见的学习算法,例如分类、回归、推荐和聚类。它还包含工作流和其他实用程序,包括特征转换、机器学习流水线构造、模型评估、分布式线性代数和统计信息。

5、GraphX

GraphX 是用于图和图并行计算的 Spark API。它非常灵活,可以无缝处理图和集合 – 统一提取、转换、加载;进行探索性分析;在一个系统中迭代图计算。除了灵活性较高的 API 外,GraphX 还提供了多种图算法。它在性能上比肩最快的图系统,同时保留了 Spark 的灵活性、容错性和易用性。

以上就是关于什么是 Apache Spark和Apache Spark的关键组件的全部内容了,希望对你有所帮助。