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基本概念的主要内容,如果未能解决你的问题,请参考以下文章

在这个 spark 代码片段中 ordering.by 是啥意思?

python+spark程序代码片段

Spark基本概念

2.spark基本概念

Spark中文手册3:Spark之基本概念

spark 例子wordcount topk