spark基本介绍

一、Spark概述

Spark是一种基于内存的快速、通用、可拓展的大数据分析计算引擎。

Hadoop是一个分布式系统结构的基础架构。

二、Spark与Hadoop相比较的优势:

  1. 处理速度:Hadoop:数据处理速度相对较慢

Spark:速度比Hadoop快很多倍

  1. 编程模型:Hadoop:编程模型相对较为底层和复杂,处理复杂计算时,代码量非常庞大,开发 维护成本较高。

Spark:提供了更加简洁、高层的编程模型,可用更简洁的代码实现复杂的处理任 务,且Spark支持多种编程语言。

  1. 实时性处理:Hadoop:主要用于批处理任务,难以满足实时性要求较高的数据处理场景

Spark:提供强大的数据实时处理能力,可实现准实时的数据分析

三、Spark内置模块

  1. Spark Core:作为 Spark 的核心引擎,提供了分布式任务调度、内存管理、错误恢复等基础功能。它定义了 RDD(弹性分布式数据集)这一核心数据结构,RDD 是一种容错的、并行的数据结构,用户可以在其上执行各种转换(如 map、filter)和动作(如 count、collect)操作,为 Spark 的所有高级功能奠定基础。通过 RDD,Spark 能够高效地处理大规模数据,并实现数据的分布式计算。​

2.Spark SQL:允许用户使用 SQL 语句或 DataFrame/Dataset API 对结构化和半结构化数据进行查询分析。它支持多种数据源,包括 JSON、Parquet、Hive 表等。Spark SQL 能够将 SQL 查询转换为底层的 RDD 操作,充分利用 Spark 的计算能力。同时,它还提供了数据的 Schema 推断功能,方便用户快速处理数据。此外,Spark SQL 的 Catalyst 优化器会对查询进行优化,提高查询执行效率,使得用户可以轻松地对大规模数据进行复杂的 SQL 分析。​

  1. Spark Streaming:用于处理实时数据流,它支持从 Kafka、Flume、Socket 等多种数据源接收数据,并将数据流分割成小的批次(Batch)进行处理,每个批次的数据都作为一个 RDD 进行处理,从而实现准实时的计算。Spark Streaming 提供了丰富的 API,如 map、reduce、join 等,方便用户对实时数据进行各种转换和聚合操作。例如,在实时日志分析场景中,可以使用 Spark Streaming 实时处理服务器产生的日志数据,统计用户的访问频率、热门页面等信息。​

  2. MLlib(机器学习库):包含了一系列常用的机器学习算法和工具,如分类、回归、聚类、协同过滤等。它提供了简单易用的 API,使得用户可以方便地构建和训练机器学习模型。MLlib 支持分布式计算,能够处理大规模数据集,并且在模型训练过程中进行了性能优化。例如,在推荐系统中,可以使用 MLlib 的协同过滤算法为用户推荐感兴趣的商品或内容;在文本分类任务中,可以使用 MLlib 的分类算法对文本进行自动分类。​

5.GraphX:用于处理图计算的模块,提供了丰富的图操作 API 和算法库,如 PageRank、SVDPlusPlus 等。它可以将图数据表示为分布式的顶点和边的集合,并在分布式环境下进行高效的图计算。GraphX 在社交网络分析、推荐系统、知识图谱等领域有着广泛的应用。例如,通过 GraphX 可以分析社交网络中用户之间的关系,发现关键人物和社区结构;在知识图谱中,可以使用 GraphX 进行图谱的构建和查询,挖掘实体之间的潜在关系

四、Spark的运行模式

大体为两种:单机模式与集群模式。

目前支持的部署模式:

相关推荐
Zyxalia1 小时前
gin + es 实践 01
大数据·elasticsearch·gin
qq_348231852 小时前
复盘20250508
大数据·人工智能
随缘而动,随遇而安2 小时前
第五十四篇 AI与数据分析
大数据·数据库·sql·数据分析·数据库架构
caihuayuan52 小时前
iview自定义下拉树菜单
java·大数据·spring boot·后端·课程设计
悻运2 小时前
配置Hadoop集群环境-使用脚本命令实现集群文件同步
大数据·hadoop·分布式
geneculture4 小时前
邹晓辉教授基于融智学的意识5W2H数学系统刻画
大数据·人工智能·机器学习·融智学的重要应用·融智学
逸Y 仙X4 小时前
适合java程序员的Kafka消息中间件实战
分布式·中间件·kafka·消息中间件
LUCIAZZZ11 小时前
简单介绍分布式定时任务XXL-JOB
java·spring boot·分布式·spring·操作系统·定时任务
咸鱼求放生11 小时前
验证es启动成功
大数据·elasticsearch·jenkins