前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark初识-Spark基本架构概览使用

Spark初识-Spark基本架构概览使用

作者头像
栗筝i
发布2022-12-01 21:19:41
5230
发布2022-12-01 21:19:41
举报
文章被收录于专栏:迁移内容迁移内容

当需要处理的数据量超过了单机尺度(比如我们的计算机有4GB的内存,而我们需要处理100GB以上的数据)这时我们可以选择spark集群进行计算,有时我们可能需要处理的数据量并不大,但是计算很复杂,需要大量的时间,这时我们也可以选择利用spark集群强大的计算资源,并行化地计算

一、架构及生态

架构示意图如下:
img
img
  • Spark Core:实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。SparkCore 中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。
  • Spark SQL:是 Spark 用来操作结构化数据的程序包。通过SparkSql,我们可以使用 SQL或者Apache Hive 版本的 SQL 方言(HQL)来查询数据。Spark SQL 支持多种数据源,比如 Hive 表、Parquet 以及 JSON 等。
  • Spark Streaming:是 Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API,并且与 Spark Core 中的 RDD API 高度对应。
  • Spark MLlib:提供常见的机器学习 (ML) 功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。
  • GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作。
Spark架构的组成图如下:
img
img
  • Cluster Manager:Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算,为了实现这样的要求,同时获得最大灵活性,Spark 支持在各种集群管理器(Cluster Manager)上运行,目前 Spark 支持 3 种集群管理器:
    1. Hadoop YARN(在国内使用最广泛)
    2. Apache Mesos(国内使用较少, 国外使用较多)
    3. Standalone(Spark 自带的资源调度器, 需要在集群中的每台节点上配置 Spark)
  • Worker节点:从节点,负责控制计算节点,启动Executor或者Driver。
  • Driver: 运行Application 的main()函数
  • Executor:执行器,是为某个Application运行在worker node上的一个进程

二、Spark运行架构

基本概念:RDD、DAG、Executor、Application、Task、Job、Stage

img
img
  • RDD:弹性分布式数据集的简称,是分布式内存的一个抽象概念 ,提供了一个高度共享的内存模型。
  • Worker Node:物理节点,上面执行executor进程
  • Executor:Worker Node为某应用启动的一个进程,执行多个tasks
  • Jobs:action 的触发会生成一个job, Job会提交给DAGScheduler,分解成Stage,
  • Stage:DAGScheduler 根据shuffle将job划分为不同的stage,同一个stage中包含多个task,这些tasks有相同的 shuffle dependencies。

​ 有两类shuffle map stage和result stage: ​ shuffle map stage:case its tasks’ results are input for other stage(s) ​ result stage:case its tasks directly compute a Spark action (e.g. count(), save(), etc) by running a function on an RDD,输入与结果间划分stage

  • Task:被送到executor上的工作单元,task简单的说就是在一个数据partition上的单个数据处理流程。

action触发一个job (task对应在一个partition上的数据处理流程) ------stage1(多个tasks 有相同的shuffle依赖)------【map–shuffle】------- stage2---- 【result–shuffle】-----

img
img

*、本文参考

深入浅出,一文让你了解什么是Spark
Spark中application、job、stage、tast之间的关系详解
spark原理:概念与架构、工作机制
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、架构及生态
    • 架构示意图如下:
      • Spark架构的组成图如下:
      • 二、Spark运行架构
      • *、本文参考
      相关产品与服务
      流计算 Oceanus
      流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档