Spark 组件
Spark项目由不同类型的紧密集成的组件组成。在其核心,Spark是一个计算引擎,可以调度,分发和监视多个应用程序。
让我们详细了解每个Spark组件。
Spark Core
- Spark Core 是Spark的核心,执行核心功能。
- 它包含任务调度、故障恢复、与存储系统和内存管理交互的组件。
Spark SQL
- Spark SQL 建立在Spark Core之上,提供对结构化数据的支持。
- 它允许通过SQL(结构化查询语言)以及Apache Hive的SQL变体(称为HQL)来查询数据。
- 它支持建立Java对象和现有数据库、数据仓库和商业智能工具之间的JDBC和ODBC连接。
- 它还支持来自Hive表、Parquet和JSON等各种数据源。
Spark Streaming
- Spark Streaming 是Spark的一个组件,支持可伸缩和容错处理流式数据。
- 它利用Spark Core 的快速调度能力执行流式分析。
- 它接受小批量数据并对其执行RDD转换。
- 其设计确保用于流式数据的应用程序可以通过少量修改来重用以分析历史数据批处理。
- Web服务器生成的日志文件可以被视为数据流的实时示例。
MLlib
- MLlib是一个包含各种机器学习算法的机器学习库。
- 其中包括相关性和假设测试、分类和回归、聚类和主成分分析。
- 它比Apache Mahout使用的基于磁盘的实现快9倍。
GraphX
- GraphX是一个用于操作图并执行图并行计算的库。
- 它便于创建具有任意属性的有向图,每个顶点和边都可以附加属性。
- 为了操纵图,它支持各种基本操作符,如子图、连接顶点和聚合消息。