非科班出身,年薪50万的大数据Spark学习心得
需积分: 15 161 浏览量
更新于2024-08-04
收藏 95KB DOCX 举报
"某二本非计算机专业16年毕业,通过深入学习大数据技术Spark,实现了职业转型,目前年薪达到50万。本文是该学习者在尚硅谷学习大数据技术Spark的总结,旨在分享其学习经验和理解,帮助其他有志于大数据领域的学习者。"
Spark是大数据处理领域的重要工具,以其高效、易用和可扩展性著称。Spark的核心原理在于它的内核设计,包括了SparkContext、ApplicationMaster、Driver和Executor等关键组件。
Spark应用的提交通常是在Yarn这样的集群管理器上进行。当使用`bin/spark-submit`命令启动Spark应用时,会在集群中启动一个JVM进程,这个进程包含了ApplicationMaster和Driver。其中,ApplicationMaster是一个独立的进程,负责资源的申请和任务的调度;而Driver则是一个运行在JVM中的线程,它通常与SparkContext相联系,SparkContext是Spark程序的入口点,负责创建和管理RDD(弹性分布式数据集)。
Executor是Spark中执行实际计算的实体,它是一个计算对象,同时包含ExecutorBackend作为后台通信接口。Executor们运行在集群的不同节点上,负责执行由Driver分配的任务。
Spark的内部通信机制基于高效的网络框架,早期使用AKKA,现在更多地采用Netty。Netty提供了基于AIO(异步非阻塞I/O)的高性能网络通信能力。在Linux系统中,虽然AIO的底层实现与NIO的EPOLL类似,但在Windows系统上,AIO通过IOCP(I/O完成端口)提供了真正的异步I/O,因此在选择Netty时,需要考虑目标运行环境。
Spark的组件之间通过RPC(远程过程调用)进行通信。Driver通过CoarseGrainedSchedulerBackend与Executor进行交互,Executor则通过CoarseGrainedExecutorBackend响应Driver的调度指令。所有的通信终端都继承自Endpoint,并通过RpcEndpoint接收消息,通过RpcEndpointRef发送或请求消息。
在Spark作业的生命周期中,用户通过SparkConf设置应用名称,创建SparkContext后,逻辑代码被转换为RDD。RDD是Spark的基础数据抽象,它们可以通过转换算子(如map、filter)进行操作,并通过行动算子(如count、collect)触发实际计算。RDD的转换和行动会触发Job的生成,Job会被进一步划分为多个Stage,Stage的划分依据转换算子和依赖关系,尤其是窄依赖和宽依赖。窄依赖允许数据在Stage内部高效传递,而宽依赖则可能导致数据shuffle,从而划分新的Stage。RDD的分区数量在默认情况下是不变的,但某些shuffle操作(如groupByKey、reduceByKey)可能会改变分区数量,这会影响计算的并行度和效率。
通过深入理解Spark的内核原理、组件通信机制以及作业调度流程,可以帮助开发者更好地优化Spark应用,提升大数据处理的效率和性能。这位年薪50万的大佬的学习经验表明,即使是非计算机专业的学习者,也能通过系统学习和实践在大数据领域取得显著成就。
2023-03-15 上传
2024-07-18 上传
110 浏览量
2023-08-08 上传
212 浏览量
2023-07-09 上传
352 浏览量

冷酷的本杰明
- 粉丝: 5
最新资源
- ODI安装配置教程:文档与工具指南
- C语言函数速查手册:常用函数全掌握
- Andorid开发系列课程-Day03视频
- 深入理解UIAlertController在iOS8.0中的应用
- Gradle Android插件的开源压缩包介绍
- Java拉博训练教程与项目实战
- 得意奶茶销售管理系统:提升销售效率与管理
- 传智播客Android课程北京站Day02视频教程
- 2009新年快乐PPT模板下载
- 微信小程序前端打卡功能开发教程
- 基于SpringMVC3.2和jQuery1.9的Restful入门实践
- 掌握网格断点技术-crx插件使用攻略
- 深入解析PigDev-master压缩包子文件的开发
- shake.js的使用方法及事件处理实现
- Andorid智慧北京Day01课程视频解析
- 西门子SITRANS LG270探针操作与维护指南