码迷,mamicode.com
首页 > 其他好文 > 详细

Spark基本概念

时间:2017-08-22 12:31:29      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:关注   programs   类型   知识   需要   pytho   分布   each   nes   

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基本概念

标签:关注   programs   类型   知识   需要   pytho   分布   each   nes   

原文地址:http://www.cnblogs.com/2017Crown/p/7410828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!