主页 > 新闻资讯 > 大数据Spark开发:Spark开发编程要点

大数据Spark开发:Spark开发编程要点

作者:张老师 浏览次数: 2020-02-19 15:16
随着Spark框架成为越来越多的企业的选择,大数据开发工程师们对于大数据Spark开发的掌握也就成为普遍的技能要求。作为大数据技术开发人员,在Spark开发编程上,一方面要有扎实的理论基础,另一方面还要进行实战练习。下面就为大家分享大数据Spark开发编程方面的知识要点。

从理论上来说,Spark在编程上继承了Hadoop的map-reduce计算框架,并在其基础之上进行了改良。

大数据Spark开发

Spark基于内存操作,有向无环图DAG的方式执行作业,shuffle的改进,作业失败后从前面某一步而不是第一步开始重新执行作业等等,让Spark的运行速度相对Hadoop有几十倍甚至百倍的提升。

并且,Spark还提供更多的计算模型,不仅限于map和reduce,使得Spark你能够支持更多场景的应用作业。

Spark的数据模型抽象为RDD,弹性分布式数据集,RDD包含transformation和action两种算子,但是,一个RDD连续的transformation算子个数有限制,不然调用堆栈会溢出。解决办法可以在中间某个transformation算子之前执行一次checkpoint,或者插入某个简单的action算子,比如first或take。

派生算子类Function系列,必须定义成static函数的内部类或匿名类,要么必须定义成函数外部的static类,不然,运行时会报错。

HiveContext和SQLContext不可混用,也就是一个类对象如果是用HiveContext创建的,那么它不可用SQLContext来执行SQL操作,反之亦然。

一个类对象将用于Hive或SQL操作,该类必须是public static的,且实现Serializable,该类各个成员变量必须有set/get方法(应该用到了类Java的反射机制,其实set如果不需要也可以不用写),并且,get方法的函数名有要求,比如一个类有成员变量名为abcd,则其对应函数名必须为getAbcd,不然,运行时会报找不到该表列名错误。

以上就是关于大数据Spark开发给大家分享的一些编程知识要点。Spark在编程方面可支持多种语言,Java、Scala、Python等,但是不管基于何种语言编程,都需要在理论扎实的情况下,多多进行实战练习,牢牢掌握。成都加米谷大数据,大数据知识分享,大数据开发培训,2020春季班正在招生中,余位不多,详情可联系客服了解!

热点排行
推荐文章
立即申请>>