Spark基本概念
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark基本概念相关的知识,希望对你有一定的参考价值。
Spark基本概念
1.SparkContent
a.Driver programs通过SparkContent对象访问Spark
b.SparkContent代表和一个集群的链接
c.在shell中SparkContent对象自动创建好了,就是sc
2.Spark中的Shell
主要分为两种:python shell和 scala shell
现在主要介绍scala shell下的一些简单操作:
1.加载
3.RDDs
RDDs是Resilient distrubuted datasets的简写,意为弹性分布式数据集。
这些RDDs,并行分布在整个集群中。
RDDs是Spark分发数据和计算的基础抽象类。
一个RDDs是一个不可改变的分布式集合对象,因此在使用scala编写时,前面加修饰符val
Spark中,左右的操作都是通过RDDs的c创建、转换、操作完成的
一个RDDs内部其实是由许多Partition(分片)组成,但是我们在操作时只需要关注RDDs即可
分片:分片是Spark并行处理的单元,Spark顺序的、并行的处理分片。不同的分片可以在不同的节点上计算
RDDs的创建:
(1)sc.parallelize()
一般只是测试使用:
val rdd=sc.parallelize(Array(1,2,2,4),4) 第一个参数:带并行化处理的集合 第二个参数:分区个数
下面还有一些我们测试时经常使用的函数
rdd.count() #统计rdds中的行数
rdd.collect().foreach(print) #遍历rdds中的每个元素,但是遍历各个分片的的先后顺序是随机的
(2)加载外部数据集
val rddtext=sc.textFile("filepath")
4.scala基础知识
(1)创建变量时时必须使用val或者var
(2)scala的匿名函数和类型推断
匿名函数:
val lines2=lines.filter(line=>line.comtains("world"))
#整个括号中的内容定义了一个匿名函数,传入一个参数line,返回指定结果
#注意line的类型不需要进行指定,能够推断出来
以上是关于Spark基本概念的主要内容,如果未能解决你的问题,请参考以下文章