Spark开发:Spark大数据开发编程示例
大数据开发人员,根据企业大数据处理的需求,进行大数据平台系统的搭建,比如说Hadoop,比如说Spark,而不同的大数据处理框架,采取不同的编程语言和编程模型,这就需要技术开发人员要掌握相关的技术。今天我们以Spark开发为例,来分享一下Spark大数据开发当中的一些编程示例。
Spark框架的核心思想,还是基于分布式架构,并且计算模式继承了MapReduce,并在此基础之上进行了扩展,支持更多的计算模式,以满足更多的大数据应用场景需求。
Spark程序架构,严格来说还是按照分布式架构来的,所有Spark开发,严格来说属于分布式编程。Spark程序工作时通常最少2个进程,有且只有两个角色driver和executor。
Spark程序开发的流程,一般有以下三个步骤:
1、本地ide开发逻辑,并使用local[*]进行调试
2、部署集群使用spark-client进行测试(可能没有)
3、部署集群使用spark-cluster实际部署
一般开发一个spark程序都要走上面的3个步骤,但是有些非常奇怪的现象是,步骤1没问题,但是实际到集群部署,到了2和3就出错,这是为什么呢?
主要的原因是因为读取的配置参数和预期不符合,常见错误和问题:
submit提交后出现
java.lang.NullPointerException
Not Serializable
另外,Spark程序模型实质是分布式编程,两个角色driver和executor之间如何实现信息传递呢?
首先,信息收集到driver
通常都是用spark自己提供的action算子。
然后,信息下发到executor
这种情况很常见几乎每个程序都会用到,具体分为启动初始化时参数传递和允许中传递:
①利用闭包特性(高大上,驾驭有难度,各种跨进程rpc编程,分布式编程框架所使用,缺点是由于jvm专用,一般在启动初始化时传递)
②利用--files传递配置文件,executor通过lazy读取
③利用spark的广播功能,注意可序列化,属于允许中传递
④利用spark-submit和yarn机制
关于Spark开发,以上就是给到大家的一个简单的编程示例介绍,作为大数据领域重要的计算框架掌握Spark开发是必须的技能,也建议大家在学习阶段予以重视,做到牢牢掌握。
Spark开发:Spark大数据开发编程示例相关推荐
- 数据库开发转行大数据开发工程师怎么样?
数据库开发转行大数据开发工程师怎么样?大数据的方向的工作有大数据运维工程师.大数据开发工程师.数据分析.数据挖掘.架构师等.有工作经验想转行大数据开发主要考察基础.学习能力.解决问题的能力.想转转行大 ...
- 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...
软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...
- 软件开发向大数据开发过渡_如何将职业过渡到Web开发
软件开发向大数据开发过渡 Over the past ten years, there has been an explosion of interest in web development, an ...
- 软件开发向大数据开发过渡_如何过渡到开发人员关系职业
软件开发向大数据开发过渡 假设您已经找到了一个自己真正喜欢的开源项目,并且您想做的不仅仅是贡献. 或者您喜欢编码,但是您不想花一生的时间与计算机进行交互,而不是与人进行交互. 您如何将对开源软件的热爱 ...
- 【Spark】黑马-大数据开发2
Scala+Spark-大数据开发复习课程 10.scala 10.1.scala介绍 10.2.scala解释器 10.3.scala的基本语法 10.3.1.声明变量 10.3.2.字符串 10. ...
- 从后端开发转大数据开发怎么样?
你为什么从后端开发(Java/golang)转到大数据开发(Hadoop/Spark)?转大数据的最初原因很简单,就是好几个同事都转了,他们的收入瞬间提高了好多,于是在同事的内推我也就跟着转了,转完以 ...
- 一文搞懂大数据开发,大数据开发体系详解
前言 不知道大家有没有过在搜索引擎搜索过旅游的关键字,不久就可能收到机票的推销的经验.如今是大数据的时代,数据的价值越来越重要.数据即资产,想必大家都听说过.最近公司的项目中也用到了一些大数据的技术, ...
- 什么是大数据开发?大数据开发要学什么?一个Java转行过程和经历
大数据开发是大数据职业发展方向之一,另外一个方向是大数据分析.从工作内容上来说,大数据开发主要是负责大数据挖掘,大数据清洗处理,大数据建模等工作,主要是负责大规模数据的处理和应用,工作主要以开发为主, ...
- python开发和大数据开发工程师_大数据开发工程师的岗位职责
大数据开发工程师负责该领域的业务需求讨论,完成技术方案及数据开发.下面是学习啦小编整理的大数据开发工程师的岗位职责. 大数据开发工程师的岗位职责1 职责: 1.负责所分管团队的团队建设和日常管理工作; ...
- 集成开发环境-大数据开发平台的门户
什么是集成开发环境 这一篇,来谈一下大数据开发平台的门面,集成开发环境.什么是集成开发环境?顾名思义,就是IDE,哪个码农不知道IDE的,有胆你站出来! 不过IDE这个词也太普通了,在那些大厂玩大数据 ...
最新文章
- malware分析视频
- Python学习二——变量和简单数据类型
- QQ无法安装,不用着急,用毒霸2011来解决
- 字符串之字符判断以及字母的大小写转换
- linux nginx http cache时间不对,Linux中Nginx设置proxy_cache缓存与取消缓存-linux-操作系统-壹...
- 怎么设置vscode界面大小_vscode怎么放大界面
- C# decimal保留指定的小数位数,不四舍五入
- 淘宝API接口:item_cat_get - 获得淘宝商品类目
- Sqlserver 特殊字符替换
- java毕业生设计学生实验报告管理系统计算机源码+系统+mysql+调试部署+lw
- cmos与非门电路、或非门电路
- 【软件测试】学习路线资料整理摆脱迷茫,突破瓶颈(送给我迷茫的朋友)
- 图像处理过程中为什么有时需要进行归一化处理 ?
- Caused by: liquibase.exception.ValidationFailedException: Validation Failed:1 change sets check sum
- 3章等价类划分法-城市号码
- EasyExcel的使用
- 二进制四进制八进制十六进制之间转换关系及浅谈文字在计算机中表示
- 逆波兰式的转换与计算(简单)
- AcWing 第69场周赛
- matlab实现多项式的运算,Matlab 多项式运算