这期内容当中小编将会给大家带来有关SparkCore的组件Components怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
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 集群管理器
解释:下图 刚开始需要申请资源,后来是传代码运行,发送到executor spark 应用程序独立的运行在集群上,在program 运行sparkcontext 在集群上运行,sc连接到集群管理器,sc 去获取应用程序要的资源 一旦连接,spark请求集群上的executors资源, 在executors 资源中计算和存储数据对于你的应用程序 接下里会发送代码通过sc,发送到executors,最终task会在 executors 中运行
右 n jobs
包含
n stages
包含
n tasks
stage默认就一个除非遇到shuffer
最终:
application = n jobs + n stages + n tasks
agnostic 不知道 executor 与driver间有通信,防止挂了 资源管理器申请资源 action产生job 每个应用程序有它自己的应用进程,executor一直保持整个应用程序,并且 task在里面一直运行,对于互相有好处,一方面是调度反面(每个应用调度有它自己 的task),另一个方面是executor里面运行的task运行在自己的JVM中不影响互相 但是,它也意味着数据不可以共享对于不同的应用程序,但是你要写到 外部系统可以共享 spark是不用关心你运行在什么模式上 这个应用程序必须监听和接受executo的通知,保持活性,防止挂掉 任务放在集群上,最好放在离worker 近的位置,特别同一个网络
上述就是小编为大家分享的SparkCore的组件Components怎么用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/69941978/viewspace-2651820/