主页 > 新闻资讯 > Spark编程例子:Spark编程总结

Spark编程例子:Spark编程总结

作者:张老师 浏览次数: 2020-02-13 15:23
对于大数据技术开发人员来说,Spark编程时日常工作当中基本技能要求,并且随着Spark框架的优势越来越突出,越来越多的企业也开始选择Spark计算框架,因此对于技术开发人员来说,掌握Spark的重要性可想而知。今天我们就来做一个简单的Spark编程总结,分享一些Spark编程例子。

Spark编程,首先需要对Spark计算框架的原理和运行机制搞清楚,这其中涉及到两个非常重要的概念,RDD和共享变量。

Spark编程例子

Spark框架当中最重要的一个抽象概念,就是弹性分布式数据集,Resilient distributed dataset,简称RDD。

RDD是一个可分区的元素集合,其包含的元素可以分布在集群各个节点上,并且可以执行一些分布式并行操作。RDD可以通过驱动程序中的集合对象通过并行化操作创建,或者从外部存储系统中数据集加载(如:共享文件系统、HDFS、HBase或者其他Hadoop支持的数据源)。

举个例子,以下代码将一个1到5组成的数组并行化成一个RDD:

val data = Array(1, 2, 3, 4, 5)
val distData = sc.parallelize(data)

而文本文件创建RDD可以用SparkContext.textFile方法。输入参数是一个文件的URI(本地路径,或者hdfs://,s3n://等),其输出RDD是一个文本行集合。

Spark编程例子:

scala> val distFile = sc.textFile("data.txt")
distFile: RDD[String] = MappedRDD@1d4cee08
创建后,distFile 就可以执行数据集的一些操作。比如,我们可以把所有文本行的长度加和:distFile.map(s => s.length).reduce((a, b) => a + b)

Spark当中的第二个重要概念,就是共享变量。

共享变量是一种可以在并行操作之间共享使用的变量。默认情况下,当Spark把一系列任务调度到不同节点上运行时,Spark会同时把每个变量的副本和任务代码一起发送给各个节点。但有时候,我们需要在任务之间,或者任务和驱动器之间共享一些变量。

Spark提供了两种类型的共享变量:广播变量和累加器,广播变量可以用来在各个节点上缓存数据,而累加器则是用来执行跨节点的“累加”操作,例如:计数和求和。

Spark编程,要对这两个抽象概念理解透彻,才能真正入门,大家可以一边学习理论基础,一边参考一些Spark编程例子来进行编程实战,才能更好地掌握Spark编程技术。成都加米谷大数据,专业大数据培训机构,大数据开发2020春季班正在招生中,详情可联系客服了解!
热点排行
推荐文章
立即申请>>