一篇文章了解spark

本文深入探讨Apache Spark,从其缘起到运行框架,包括driver、executor、master和worker的角色。接着,解释了基本概念如job、stage、task和RDD,并详细阐述了SQL转为RDD的过程及shuffle的运作机制,特别是对hashshuffle和SortShuffleManager的优化。最后,文章提到了Spark性能优化,尤其是处理数据倾斜的策略。
摘要由CSDN通过智能技术生成

目录

0、spark缘起

1、spark的运行框架

2、一些基本的概念

3、sql转为RDD的过程

4、shuffle

5、优化技巧


0、spark缘起

Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一

1、spark的运行框架

 

其中:

driver:一个进程,将用户程序转化为作业(job),在Executor之间调度任务(task),并跟踪执行情况并UI展示,在yarn模式下就是Application Master,一般是在worker上启动

excuter:一个JVM进程,负责在 Spark 作业中运行具体任务(Task-线程)

对应物理节点是:worker和master(yarn里面是RM 和 NM,spark一般来说都是cluster on yarn )

master:管理 Worker、Application(接收 Worker 的注册并管理所有的 Worker;接收 Client 提交的 Application,调度等待的Application 并向Worker提交)。

worker:具体的任务执行节点,对应yarn里面的NodeManager

client:客户端

yarn相关:

resourcemanager(RM):处理客户端请求,资源管理调度

nodemanager(NM):管理node资源,运行程序

container:抽象资源容器,封装着一定的cpu、io和网络等资源,基本的资源单位,一般是一定比例的CPU虚拟核数vcore和内存(具体比例和物理机器和集群的配置相关),申请资源时需要注意这块,否则会造成资源浪费

ApplicationMaster(AM):一个进程,负责整体应用程序的资源申请和任务分配,并监控任务状态,与RM和NM通信频繁

详细运行过程:

 

 

2、一些基本的概念

 

job:遇到action会生成job,spark的惰性机制导致

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值