这期内容当中小编将会给大家带来有关SparkCore的组件Components怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
一.组件Components
1.官网位置体现

2.术语位置

3.数据解释与注意事项
Application:SparkContext
a driver program + executors
Spark-shell 是一个 Application
一个程序里面只能有一个SparkContext
Driver program 主要理解为main方法
The process running the main() function of the application and creating the SparkContext
Cluster manager
--master 设置上去的
Deploy mode
区分Driver 运行在哪里
区分client 还是集群
Worker node 相当于nodemanager
Executor(进程)无代码,通过driver发过去的
相当于contain容器
大部分executors自己管自己独立,也有共享的
A process launched for an application on a worker node, that runs tasks and keeps data in memory or disk storage across them. Each application has its own executors.
Task
一个工作单元,可以发送到executor 上去
A unit of work that will be sent to one executor
Job 触发action产生
task并行执行,遇到action产生job
main program 也叫 driver program
cluster managers 集群管理器
4.组件图的总结
解释:下图
刚开始需要申请资源,后来是传代码运行,发送到executor
spark 应用程序独立的运行在集群上,在program 运行sparkcontext
在集群上运行,sc连接到集群管理器,sc 去获取应用程序要的资源
一旦连接,spark请求集群上的executors资源,
在executors 资源中计算和存储数据对于你的应用程序
接下里会发送代码通过sc,发送到executors,最终task会在
executors 中运行

5.application组成
右 n jobs
包含
n stages
包含
n tasks
stage默认就一个除非遇到shuffer
最终:
application = n jobs + n stages + n tasks
二.组件的官网笔记注意事项
1.官网位置体现

2.解释
agnostic 不知道
executor 与driver间有通信,防止挂了
资源管理器申请资源
action产生job
每个应用程序有它自己的应用进程,executor一直保持整个应用程序,并且
task在里面一直运行,对于互相有好处,一方面是调度反面(每个应用调度有它自己
的task),另一个方面是executor里面运行的task运行在自己的JVM中不影响互相
但是,它也意味着数据不可以共享对于不同的应用程序,但是你要写到
外部系统可以共享
spark是不用关心你运行在什么模式上
这个应用程序必须监听和接受executo的通知,保持活性,防止挂掉
任务放在集群上,最好放在离worker 近的位置,特别同一个网络
上述就是小编为大家分享的SparkCore的组件Components怎么用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注天达云行业资讯频道。