这期内容当中小编将会给大家带来有关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怎么用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/222830.html