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

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

目前支持的部署模式:

相关推荐
冰芒芒5 分钟前
Kafka - 4 Kafka的副本同步机制
分布式·kafka
ZVAyIVqt0UFji1 小时前
Kafka 消费积压影响写入?试试 Pulsar
分布式·kafka
百***98812 小时前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
跟着珅聪学java2 小时前
Kafka 报错 No readable meta.properties files found解决方案
分布式·kafka
正在走向自律3 小时前
大数据时代时序数据库选型指南:从技术架构到实战案例
大数据·架构·时序数据库
攻城狮7号3 小时前
万物互联时代,如何选择合适的时序数据库?
大数据·物联网·时序数据库·apache iotdb·sql mcp
梦里不知身是客113 小时前
kafka 消费者之分区分配策略
分布式·kafka
黄焖鸡能干四碗4 小时前
网络安全态势报告,网络安全风险评估报告文档
大数据·网络·安全·web安全·信息可视化·需求分析
脸大是真的好~4 小时前
尚硅谷 SpringCloud 01 分布式概念-工程创建-nacos安装-nacos服务注册与发现-远程调用-负载均衡注解版-配置中心-动态刷新-环境隔离
分布式·spring·spring cloud
勇往直前plus5 小时前
ElasticSearch详解(篇二)
大数据·elasticsearch·jenkins