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的运行模式

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

目前支持的部署模式:

相关推荐
阿标在干嘛27 分钟前
从HTTP到WebSocket:招投标信息实时推送系统的协议选型与架构设计
大数据·微服务·架构
苏州IT威翰德9 小时前
算力资产“续命”专家:苏州威翰德科技赋能NVIDIA高端AI芯片芯片级维修
大数据·人工智能
Miao1213110 小时前
某海外住宿平台如何在大规模场景下实现指标一致性:Minerva 指标平台实践
大数据·数据库·人工智能
SeaTunnel10 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
爱自由的代码工11 小时前
游戏沉默用户怎么激活?一套可执行的步骤、指标与复盘方法
大数据·游戏·游戏发行·游戏运营·游戏分发
miaowu35712 小时前
AI智能体推动数字化转型:从流程自动化到决策辅助的完整路线图
大数据·人工智能·自动化
互联网江湖12 小时前
珞石机器人:向左科技股,向右零部件制造商?
大数据·人工智能
CRMEB系统商城12 小时前
开源自建还是SaaS订阅?算一笔3年经济账
java·大数据·开发语言·开源
Leo.yuan12 小时前
数据仓库建设怎么做?从源数据到分析报表全流程讲清
大数据·分布式·spark
pftn14 小时前
从0到1搭建具身智能数据飞轮:Ray + Kafka + LanceDB 全链路实战
大数据