首页 > 其他分享 >Spark(一)概述

Spark(一)概述

时间:2024-09-20 09:45:31浏览次数:9  
标签:模式 API 集群 内存 计算 概述 Spark

基本概念

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

Spark vs Hadoop

  • Spark和Hadoop的根本差异是多个作业之间的数据通信问题:Spark多个作业之间数据通信是基于内存,而Hadoop是基于磁盘
Hadoop Spark
类型 分布式基础平台, 包含计算, 存储, 调度 分布式计算工具
场景 大规模数据集上的批处理 迭代计算, 交互式计算, 流计算
价格 对机器要求低, 便宜 对内存有要求, 相对较贵
编程范式 Map+Reduce, API较为底层, 算法适应性差 RDD组成DAG有向无环图, API较为顶层, 方便使用
数据存储结构 MapReduce中间计算结果存在HDFS磁盘上, 延迟大 RDD中间运算结果存在内存中 , 延迟小
运行方式 Task以进程方式维护, 任务启动慢 Task以线程方式维护, 任务启动快

Spark核心模块

  • Spark Core:实现了Spark的基本功能,包含RDD、任务调度、内存管理、错误恢复、与存储系统交互等模块
  • Spark SQL:Spark用来操作结构化数据的程序包,通过Spark SQL,我们可以使用SQL操作数据
  • Spark Streaming:Spark提供的对实时数据进行流式计算的组件,提供了用来操作数据流的API
  • Spark MLlib:提供常见的机器学习(ML)功能的程序库,包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能
  • GraphX(图计算):Spark中用于图计算的API,性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法
  • 集群管理器:Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算
  • Structured Streaming:处理结构化流,统一了离线和实时的API

Spark运行模式

local本地模式(单机)

  • 学习测试使用
  • 分为local单线程和local-cluster多线程

standalone独立集群模式

  • 学习测试使用
  • 典型的 Mater/slave 模式

standalone-HA高可用模式

  • 生产环境使用
  • 基于standalone模式

on yarn集群模式

  • 生产环境使用
  • 运行在yarn集群之上,由yarn负责资源管理,Spark负责任务调度和计算
  • 计算资源按需伸缩,集群利用率高,共享底层存储,避免数据跨集群迁移

on mesos集群模式

  • 国内使用较少
  • 运行在mesos资源管理器框架之上,由mesos负责资源管理,Spark负责任务调度和计算

on cloud集群模式

  • 中小公司未来会更多的使用云服务
  • 比如AWS的EC2,使用这个模式能很方便的访问Amazon的S3

标签:模式,API,集群,内存,计算,概述,Spark
From: https://www.cnblogs.com/shihongpin/p/18421890

相关文章

  • 南大通用GBase 8s 集群网络交互信息概述(上)
    在当今数据驱动的商业环境中,数据库的性能和可靠性是企业成功的关键。GBase8s作为一款的国产数据库系统,其SSC集群架构通过优化网络交互,显著提升了性能和可用性。本文将分两部分聚焦于GBase8sSSC集群的网络交互信息概述和网络吞吐量计算。在GBase 8sSSC集群中,主节点向从节点只传......
  • 南大通用GBase 8s 集群网络交互信息概述(下)
    在上篇文章中,我们了解了GBase8sSSC集群的网络交互机制。本文将聚焦于网络吞吐量的计算,分析SSC集群在不同业务场景下的表现,并与HAC和RHAC集群进行对比。一、无业务场景下的网络吞吐量在无业务时,网络上只有每秒发送的心跳包和心跳包的ACK,则网络吞吐量极低,具体为(114+86)/(1024*1024......
  • cgroup技术概述
    cgroup全称是controlgroup,顾名思义,它是用来做“控制”的。控制什么东西呢?当然是资源的使用了。cgroup定义了下面的一系列子系统,每个子系统用于控制某一类资源。CPU子系统,主要限制进程的CPU使用率。cpuacct子系统,可以统计cgroup中的进程的CPU使用报告。cpuset子系统,可......
  • 使用 Apache Spark 和 Deequ 分析大数据集
    在当今的数据驱动环境中,掌握使用ApacheSpark和Deequ对大型数据集进行分析对于任何处理数据分析、SEO优化或需要深入研究数字内容的类似领域的专业人士来说都至关重要。ApacheSpark 提供处理大量数据所需的计算能力,而Deequ提供质量保证层,为所谓的“数据单元测试”设定基准......
  • 网络变压器简介、功能、分类、应用组成等综合概述-沃虎电子
    网络变压器:网络变压器是在有限局域网中各级网络设备中都具备的变压器元件。网络变压器(EthernetTransformer,也称数据汞模块,是网卡电路中不可或缺的部分,它主要包含中间抽头电容、变压器、自耦变压器、共模电感。其又叫网络隔离变压器、以太网变压器、网络滤波器、网口变压......
  • 【NAND NOR FLASH闪存产品概述】
    随着国内对集成电路,特别是存储芯片的重视,前来咨询我们关于NORFlash,NANDFlash,SDNAND,eMMC,RawNAND的客户越来越多了。这里我们专门写了这篇文章:1.把常用的存储产品做了分类;2.把一些产品的特点做一个描述。在正式开始介绍之前,我们给大家推(an)荐(li)一款非常易用稳定的Fl......
  • Hadoop(十四)MapReduce概述
    一、定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上二、优缺点优点描述易于编程它简单的......
  • 内网隧道代理技术-概述
    隧道描述攻击者通过边界主机进入内网,往往会利用它当跳板进行横向渗透,但现在的内部网络大多部署了很多安全设备,网络结构错综复杂,对于某些系统的访问会受到各种阻挠,这就需要借助代理去突破这些限制,因此面对不同的网络环境对于代理的选择及使用显得格外重要。隧道的分类关于隧......
  • Apache Spark MLlib分布式机器学习概论
    1.简介ApacheSparkMLlib是一个强大且高效的分布式机器学习库,专为大规模数据处理设计。随着大数据的普及,传统的机器学习算法在处理大规模数据集时效率较低,且难以扩展到分布式环境中。而MLlib作为Spark生态系统的一部分,利用Spark的分布式计算框架,能够轻松处理海量数据,并......
  • Spark Streaming基础概论
    1.简介1.1什么是SparkStreaming?SparkStreaming是ApacheSpark的一个扩展模块,专门用于处理实时数据流。它通过将数据流切分为一系列小批次(微批次)进行处理,使得开发者能够使用与批处理相同的API来处理流数据。这种微批处理的架构允许SparkStreaming高效地处理实......